我是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/

10-11 07:22