2
$\begingroup$

I have started to read about user-based and item-based collaborative filtering techniques. I understand how a rating of the target user for a particular item is predicted. How top-N recommendation list is created in user-based/item-based collaborative filtering??

$\endgroup$
  • $\begingroup$ What research and self-study have you done? Where have you looked? $\endgroup$ – D.W. Dec 13 '14 at 6:41
1
$\begingroup$

Apache Mahout has several implementations about this problem. Most common approach is to predict all unrated items of a particular user and sorting items by their predicted values. Then you can select top N items to recommend. (see class AllUnknownItemsCandidateItemsStrategy in Mahout).

A version of this implementation with better performance and low accuracy is SamplingCandidateItemsStrategy. This one does not select all unrated items to predict, instead it selects some of them randomly with a given rate and then predict only these items. Finally you can select best predicted items as usual. Advantage of this method is to predict less items but since you eliminate some items randomly accuracy of this method obviously will be worse.

Moreover, there are other implementations which use item based similarity to select candidate items such as AllSimilarItemsCandidateItemsStrategy, PreferredItemsNeighborhoodCandidateItemsStrategy,

AllSimilarItemsCandidateItemsStrategy finds similar items of the customer's preferred items and predicts this set. It has a better accuracy since you select relevant items for customer but selecting candidate items phase requires effort.

These are some methods which are used generally.

$\endgroup$
  • 4
    $\begingroup$ This seems to be a programming answer: essentially, "You can do it by using these libraries". Here, we're looking for computer science answers: what algorithms and techniques can be used? A good answer here would explain how these libraries work, not which routines to call. $\endgroup$ – David Richerby Dec 12 '14 at 9:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.