我是Apache Mahout
的新手。我非常困惑GenericUserBasedRecommender
方法的工作方式。例如:
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);
结果是:
user4 10.45
user12 7.93
user3 2.49
但是,如果我使用
List<RecommendedItem> recommendations = cachingRecommender.recommend(12,5);
没有
recommendations
。列出的建议决定什么?有阈值吗?
最佳答案
这可能是因为您的最近邻居阈值较低(2)。
您考虑用于计算相似性的相似用户可能与项目5没有任何重叠。
我建议您将NearestNUserNeighborhood的阈值从2提高到5或10。
此外,LogLikelihood或Tanimoto的效果可能更好。
关于hadoop - mahout GenericUserBasedRecommender,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23815746/