0

我是 mahout 的新手,我使用此处给出的 parallelALS 作业构建了一个隐式反馈推荐器。我的数据集的每一行都包含 user_id、product_id、preference_score(这是用户对产品的访问次数)。用户和产品 ID 的类型为 long。在过滤掉单次或两次访问后,我有一百万个此类数据点。

我基本上编写了一个 bash 脚本来运行“parallelALS”和“recommendfactorized”这两个作业,正如示例“factorize-movielens-1M”中所示。运行脚本后,生成的建议似乎有一个错误。结果的每一行的格式(如几篇博客文章中所述)似乎是:-
user_id [product_id:score,...]

但是每行中的所有 products_ids 都是 0。我不确定这里出了什么问题。这是数据集的问题还是调整参数(alpha、lambda 等)或其他问题?

4

1 回答 1

0

user 和 item 的 id 必须是 Mahout ID,即连续整数。您需要维护字典以将用户和项目 ID 与 mahout ID 进行映射(两个 HashBiMap 或一个数据库都可以使用),这是新用户经常错过的。

为了确定发布您的输入数据的示例。

于 2014-07-08T01:05:16.297 回答