# Technique/Algorithm for product categorization Machine Learning

I am going in a very abstract layer for the problem, but I think this problem might be a common one so posting it.

So, what I am looking for is any ML algorithm or Data Science technique is there to create a relationship factor between different sets of goods.

I guess, its used heavily in social media, but here I am talking w.r.t. product goods context. Like suppose if we sell a bunch of products together in a store, so in collection there will be many products that are always bought together.

So, accordingly there will be a relationship factor between different products i.e. some product that are always bought together will have a higher factor than the one that are bought together less frequently.

So, is there any approach where we can tackle this problem to get the factor between two products using any technique?

Edit : Narrowing it down to a universe where all items are having same factors and their relationship factor to each other totally depends on their occurance together.

• This sounds like a frequent item set / association rule problem, or a recommender system. That's a lot of territory, so I think you'd have to narrow down from there what you are asking. Aug 30 '17 at 12:08

I assume you are looking for a similarity measure between items. A quick and simple one is item-item cosine similarity. An item (product) can be represented by a vector $x$ with $x_i = 1$ if it was in the $i$th purchase, otherwise $x_i=0$. The similarity between two products is then
$$\frac {<x,y>} {\lVert x \rVert \lVert y \rVert} = \frac{x_1y_1 + \dots + x_n y_n} {\sqrt{\sum x_i^2 \sum y_i^2} } = \frac {\mbox{number of times 1 & 2 sold together}} {\sqrt{\mbox{number of times 1 sold} \times \mbox{ number of times 2 sold} }}$$