I am currently working on an apparel recommendation system, where I have tabulated data containing a list of products with their respective metadata (brand, category, color etc.)

I have an additional column of client ids to denote which client has bought which product.

I want this content-based recommendation system to recommend a client a bunch of products, based on the metadata of the products they have purchased in the past.

I am trying to find a way to learn user profile based on the past purchases. Could any machine learning algorithm be used for this purpose?

A lot of content-based approaches that I have seen so far take cosine similarities of tfidf representation of the textual description of the product to calculate scores. But, I believe the metadata are too rich to concatenate and then take cosine similarities.

I tried training a classifier for each client (there are 129 clients), but that doesn't seem like a deployment-friendly approach. Are there any suggestion how I can achieve this?

Many thanks in advance!


1 Answer 1


One way to begin is to cluster the products based on the metadata information. One example clustering algorithm is k-modes. Then recommend similar products from the same cluster.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.