首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache Mahout没有一个可用的建议

Apache Mahout没有一个可用的建议
EN

Stack Overflow用户
提问于 2015-02-09 18:37:34
回答 1查看 234关注 0票数 2

我已经使用apache mahout测试了基于用户的推荐,它与提供的示例数据一起工作得很好。

然而,我有自己的数据,但我不能得到一个单一的推荐。我发现这是由于数据太稀疏的事实,但我希望专家的建议;)

它只使用购买历史,所以我给所有用户id <->产品id购买的产品打了4.0分。

下面是数据文件:http://we.tl/RcR83vcHQI

你能给我一些建议,开始有一些有用的建议吗?

提前谢谢你。

EN

回答 1

Stack Overflow用户

发布于 2015-02-09 23:38:05

对于刚接触Mahout的人来说,这是一个常见问题。0.9及之前的版本要求您的ID是连续的非负整数。这包括用户ID和项目ID。它们在Mahout中用作所有输入矩阵中的行号和列号。

有几种方法可以解决这个问题,比如为用户和项目ID保留HashBiMaps (Guava集合)。正如您所看到的,为第一个ID分配一个0的Mahout ID,并将关系存储在映射中。继续查找您的ID以查找下一个唯一的ID,并将其分配给Mahout ID= 1,依此类推。

然后你会从推荐者那里拿回Mahout的ID。您可以使用双向HashBiMap将它们转换为特定于应用程序的ID。

顺便说一句,Mahout (1.0-快照或更高版本)现在有了一个全新的新一代推荐器,基于使用搜索引擎来提供推荐,并使用Mahout来计算模型。它将接受您直接拥有的输入-在其中执行ID转换。与较旧的Hadoop版本相比,它具有许多优点,包括:

  1. 多模式:它可以摄取许多不同项目集上的许多不同用户操作。这允许你使用用户的点击流来搜索结果:它在Solr或Elastic search中有一个非常快速的可伸缩服务器。
  2. 由于它可以向新用户或最近历史的用户推荐实时特性。较旧的Hadoop Mahout推荐器只推荐训练数据中的用户和项目--它们不能对训练中未使用的历史做出反应。新的推荐器可以使用实时收集的数据,即使对新用户也是如此。

新的多模式推荐器如下所示:

免费电子书,其中讨论了一般概念:Practical Machine Learning

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28407787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档