Search code examples
predictionrecommendation-enginemahout-recommenderpredictionio

PredictionIO data importing


I'm considering using PredictionIO for building a music recommendation system.

However, in the user-item interaction, only the following actions are supported: like, dislike, view, conversion, and rate (scale 1 - 5).

My existing data consists only of views (users listen to songs).

How should I translate my data to PredictionIO input? Can I have multiple view records for the same user-item (more views = more weight) or will PredictionIO look at the most recent one based on timestamp?


Solution

  • I only use Mahout and so don't know how PredictionIO translates your data into input and algorithm choice.

    For Mahout you'd use the item-based recommender using a boolean input and input your "listen" as the action with a value of 1 and the similarity metric SIMILARITY_LOGLIKELIHOOD. LLR ignores the weights anyway. Weights are used in old-style recommenders that try to predict a user's ratings. Most people these days are more interested in ranking better and the above config will give you the best results.