0

我是新手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

列出的建议是由什么决定的?有阈值吗?

4

1 回答 1

0

这可能是因为您的最近邻阈值较低 (2)。您考虑用于计算相似性的相似用户可能与第 5 项没有任何重叠。

我建议您将 NearestNUserNeighborhood 的阈值从 2 提高到 5 或 10。LogLikelihood 或 Tanimoto 的性能可能会更好。

于 2014-08-07T18:05:28.660 回答