I would strongly recommend against using ratings. No one uses these as input to recommenders anymore. Netflix doesn’t even show ratings. The best input to a recommender is a conversion, buy, watch, listen, etc depending on the item type. But the recommender you are using only allows one of these as input. ALS is unimodal. There is no way to combine different inputs with weighting that is valid with plain matrix factorization. So ratings (if you choose to ignore my advice) and views cannot be mixed. For one thing the math requires either implicit or explicit values for input, but cannot really mix the 2 and for another thing—as I said—it is unimodal. If there are instructions that say you can mix different data like ratings and views it is wrong. A unimodal recommender can only find the user’s intent from one type of signal at a time. If you train on views it will recommend the user view something and this may be very different than buying something. I know this because I’ve done experiments on this issue.
The Universal Recommender is the only multimodal recommender that I know of that works with PIO. Factorization Machines are also multimodal but much harder to use and there is no PIO template for them anyway. To use the UR I would suggest using conversions (buy), high ratings = like, low ratings = dislike, and views (I assume you are talking about detail page views) as boolean “did view” input. The UR will find correlations between this multimodal data and make the best recommendations based on this. You can also set “dislike” to filter out any recommendation where the user has already expressed the fact that they dislike the item. http://actionml.com/docs/ur From: KRISH MEHTA <[email protected]> <[email protected]> Reply: [email protected] <[email protected]> <[email protected]> Date: June 13, 2018 at 12:06:16 PM To: [email protected] <[email protected]> <[email protected]> Subject: Few Queries Regarding the Recommendation Template Hi, I am new to PredictionIO and I have gone through the tutorial provided regarding the customer buying and rating products. I encountered queries regarding those. 1. What if I change the rating of the product? Will it update the result in the database? Like will it use the most recent rating? 2. If I want to recommend a product with implicit as well as explicit content? Is there a link which helps me to understand the same or anyone can help me with it? I have gone through the tutorial and it says that for implicit it adds the number of views to decide whether the viewer likes or dislikes it. But what if I want to recommend a user with its likes and dislikes as well as the number of views. For eg, Even if the user has viewed it 1000’s of times but if it dislikes the product then it should affect the recommendation. Can anyone suggest me with a simpler way or so I have to make major changes in my code? I hope my questions are genuine and not mundane. Regards, Krish
