0

I am new for Apache Mahout. I am very confused how GenericUserBasedRecommender method works. For example:

UserSimilarity similarity =new PearsonCorrelationSimilarity (dataModel);  

UserNeighborhood neighborhood =new NearestNUserNeighborhood (2, similarity, dataModel);  

Recommender recommender = new GenericUserBasedRecommender (dataModel, neighborhood, similarity);  

Recommender cachingRecommender = new CachingRecommender(recommender);  

List<RecommendedItem> recommendations = cachingRecommender.recommend(12,10);  

Result is:

user4 ­­­ 10.45  

user12 7.93  

user3 ­­­2.49  

But, if I use List<RecommendedItem> recommendations = cachingRecommender.recommend(12,5);

There is no recommendations.

What is determined by the recommendations listed? Is there any threshold value ?

Has QUIT--Anony-Mousse
  • 76,138
  • 12
  • 138
  • 194
mnemosyne
  • 1
  • 1

1 Answers1

0

This is perhaps because of the low nearest neighbor threshold you have (2). The similar users whom you consider for computing similarities probably dont have any overlap with item 5.

I suggest you increase the threshold of NearestNUserNeighborhood from 2 to maybe 5 or 10. Also LogLikelihood or Tanimoto may perform better.

exergy
  • 116
  • 5