Building a content-based recommendation system using products' metadata as features?

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!

Topic python recommender-system machine-learning

Category Data Science


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.

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.