Search code examples
machine-learningmahoutrecommendation-enginemahout-recommendercollaborative-filtering

Multi-variable Recommender System


I went through tutorials on implementing Recommender System and most of them takes one variable (rank).

I want to implement an Item-Based Recommender System which takes multiple variables.

Eg : Let's say an Item (bar) has following varables (values ranging from -10 to +10, to express opposite polarities)

 - price (cheap to expensive)
 - environment (casual to fine)
 - age range (young to adults)

Now I want to recommend items (bar) looking at the list of bars registered in User's history.

Is this kind of a "multi dimensional recommender system" possible to implement using Mahout or any other framework ?


Solution

  • You want the multi-modal, multi-indicator, multi-variable, how every you want to describe it—Universal Recommender. It can handle all this data. We've tested it on real datasets and get significant boost in precision test because of what we call "secondary indicators".

    Good intuition. Give the UR a look: blog.actionml.com, check out the slides in one post. Code here: https://github.com/actionml/template-scala-parallel-universal-recommendation/tree/v0.3.0 Built on the new Spark version of Mahout: http://mahout.apache.org/users/algorithms/intro-cooccurrence-spark.html