Accuracy of Recommendation for a User from Lenskit Recommender

142 Views Asked by At

I'm using the algorithm UserUserItemScorer is possible to obtain the accuracy of recommendation, ie, the quality score of the recommended item. The only way I found was the value of "score". Is there another way besides the "score" method?

1

There are 1 best solutions below

1
On BEST ANSWER

[disclaimer: LensKit lead developer]

First, a terminology thing: in recommender systems, the score and the accuracy of the recommendation are very different things. The score is how relevant the recommender thinks the item is, and is the basis for doing recommendation; the accuracy of the recommendation is how well that score models the user's actual opinion of the item.

I'll move forward assuming that you're looking for ways to get the score for an item.

There are at least three ways:

  • Call score on ItemScorer for individual items. This is very slow for multiple items.
  • Call score on ItemScorer with a batch of items. This is usually much faster. However, if you got the items from an ItemRecommender, then you are probably repeating computations.
  • The ItemRecommender returns a list of ‘scored IDs’, which are item IDs associated with scores. The getScore() method on the item recommender will get the score for each item.

But in general, the item scorer's score is exactly how you get relevance estimates from LensKit. The scores returned by an ItemRecommender are usually just the scores provided by the underlying item scorer.