Hi Henri,
Am 23.09.2016 11:02 vorm. schrieb "pierre-henri" <boardw...@gmail.com>:
>
> Hi,
>
> I'd like to get as recommendations a list of items for each user. This is what propose "item_recommendation.exe" if I specify a prediction-file for instance.
> But in my case, I'd like to have such output (i.E list ranked of item for each user) but with an algorihtm taking into account the rating (not Positiv Only PO input).
> Indeed I have available these ratings (so this is more information than PO) in input (and I do not want to turn it in PO with a threshold)
You can have a look at the executable for rating-based ranking. It at least allows you to evaluate rating predictors with top-n metrics.
It may not be what you are looking for, though.
In principle, a RatingPredictor could be trained not to be good mostly at predicting ratings for arbitrary given user-item pairs, but instead let its output score express the probability that a user will really interact with the item.
BPR can be naturally extended to support different ratings/relevance levels. WRMF is actually already defined in a way (in the paper, not in MyMediaLite's implementation) to make use of non-binary things like access counts, playing times, or ratings.
> So how can I do that with Mymedialite (of course I can ask for each rating of couple (user, item) - but it is reallly lot of data - and after sorted for each user upon predicted rating) . But maybe is it possible to that in a simpler way ?
Do you are basically looking for a way to reduce the number of candidates?
You could eg use a user-based kNN model to get the items accessed by the given user's neighbors. This is currently not implemented in MyMediaLite, but very easy to do.
One could introduce an ICandidateGenerator interface with 1 (or 2) method(s) GenerateCandidates(user) and let some of the kNN methods implement it, and at it to the 2 top-n programs, with a parameter --candidate-generator and a similar infrastructure as the one used for --recommender.
There are also other ways to reduce the number of candidates:
- uniform sampling
- sampling by popularity
- filtering by genre or other attributes
- sampling by novelty, access recency, etc.
- geographic filtering
... depending on your application.
I hope that helps. Let me know if you have further questions.
Cheers,
Z.