【问题标题】:user based recommendation system not working properly(mahout)基于用户的推荐系统无法正常工作(mahout)
【发布时间】:2015-06-03 01:18:33
【问题描述】:

我已经实现了一个基本的基于用户的推荐系统,但是当我运行程序时,有很多用户(在输出中)没有任何推荐的项目。

我认为如果该用户有单个项目但该用户有多个项目,则可能是由于我的数据模型。

我做错了什么?

我的代码是这样的-

DataModel dm =new FileDataModel(new File("data.csv"));

UserSimilarity similarity =new PearsonCorrelationSimilarity(dm);

UserNeighborhood neighborhood = new ThresholdUserNeighborhood(0.1, similarity, dm);

UserBasedRecommender recommander= new GenericUserBasedRecommender(dm,neighborhood,similarity);

for(LongPrimitiveIterator users=dm.getUserIDs(); users.hasNext();)
{
   Long UserID=users.nextLong();
   List<RecommendedItem>recommendations = recommander.recommend(UserID,10000);
   for(RecommendedItem recommendation : recommendations)
   {

    System.out.println(recommendation);
   }

}

而我的数据模型格式是 -(userID, ItemID, preference)

喜欢-

25417,11114,1
25417,11114,1
25669,11114,1
25333,11114,1
26426,11114,1
26427,11114,1
25432,11114,1
26432,11114,1
26432,11114,1
13720603,116608,1
13720602,204167,1
13720602,198158,1
13720604,6584,1
13720605,3124,1
217778,76263,2
13720606,5199,1
13720607,63613,1
217778,49443,1
13720608,118189,1
13361003,65759,2
13361003,65759,2
13673094,19002,1
13720609,3284,2
13720610,167130,1
13720611,211780,1
13720611,211780,1
13720612,62397,1
13720613,62397,1
13720614,60860,1
13720613,62397,1
13720615,108533,1 

请帮忙。我无法找出问题所在。

【问题讨论】:

    标签: java mahout recommendation-engine mahout-recommender


    【解决方案1】:

    用户和项目 ID 必须转换为非负整数,以便它们对应于数据集的行号和列号。这意味着您需要创建字典来将特定于应用程序的 id 转换为 Mahout ID。

    顺便说一句,这里有一个来自 Mahout 的更新更好的推荐器架构(它将使用您的应用程序特定的 ID):

    1. 驯象师Intro to Cooccurrence Recommenders.
    2. 一本免费的电子书,讲述了总体思路:Practical Machine Learning
    3. 幻灯片,讨论混合动作或其他指标:Creating a Multimodal Cooccurrence Recommender
    4. 两篇博文:推荐系统的新功能:part #1 和推荐系统的新功能:part #2
    5. 描述对数似然比的帖子:Surprise and Coinsidense LLR 用于减少数据中的噪声,同时保持计算 O(n) 复杂度。

    【讨论】:

      猜你喜欢
      • 2011-09-09
      • 1970-01-01
      • 1970-01-01
      • 2012-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-17
      相关资源
      最近更新 更多