An ALS based recommender template like the E-Com one will handle ratings, but…
Rating are not a good way to make recommendations. Netflix found this out after it popularized the idea and does not use ratings now to recommend. After all, would you rate all the movies you like at 10? Of course not but that is what a ratings based recommender will try to recommend. Also ratings are almost impossible to regularize, comedies tend to get lower ratings than indie releases, individuals rate in different scales—are these a meaningful distinctions to a recommender—these are noise in the ratings data that is very hard to remove. Then there is the question: what are high low ratings? Is 5 high or low? You are never going to recommend low or ambiguous movies and what is low? The more modern way to detect a user’s preference is to see if they finished watching the movie. We call these watch-95 events, wathcing 95% of the movie (excluding credits etc.) is only going to happen if you liked it. If you don’t know this (don’t have watch % data) then take the top few ratings and call these likes and discard the rest or use a multi-modal recommender like the Universal Recommender and feed it likes (ratings of 10-8) and dislikes (ratings of 1-3). See this blog post about how well this can work: https://developer.ibm.com/dwblog/2017/mahout-spark-correlated-cross-occurences/ <https://developer.ibm.com/dwblog/2017/mahout-spark-correlated-cross-occurences/> This is a case study of using dislikes to predict likes, using them together increased performance of a recommender. I think the E-Com recommender will handle some simple business rules based on category. The Universal Recommender has a pretty flexible business rules engine and can also use this data for multi-modal preference input (like, dislike, categories-liked, categories-disliked). On Jul 10, 2017, at 1:17 AM, Dan <[email protected]> wrote: Hi, I've just setup a predictionio and now I search solutions for me. I build a some sort of movie recommendation system based on user rating. I think about use recommendation engine, but there I have buy event which not exists in my system. I wonder it's an important event to calculate recommendation or validation accuracy engine. My system situation. I have a database of movies. Movies can be in many categories. Users can rate movies (from 1 to 10). I want to use predictionio to send user recommendation based on their previous film rating. Movies categories are (or should be) important data for prediction model? Is Recommendation template good choice for this situation? Or another template? Can someone give me some advice/suggestion what way will be best? Best regards Dan
