我一直在努力了解如何使用Mahout-Samsara实现基于用户/项目的推荐,但无法理解如何使用它。我对基于Mahout Map Reduce的算法有非常基本的了解,但现在Mahout宣布RIP要map-reduce。
到目前为止,我知道..
Mahout-Samsara是一个新的代号,代表所有Mahout 0.10+版本。 Mahout已经放弃了基于MapReduce的算法,并转向基于Scala的编程环境。现在,Mahout支持不同的分发引擎,如 spark , H2O 和 Flink 。
新的Mahout(Samsara)是一个基于Scala的解决方案,它在顶层有一个类似R的Scala DSL(领域特定语言)层。
我们可以按照下面的文件玩Mahout火花壳。 http://mahout.apache.org/users/sparkbindings/play-with-shell.html
我在找什么..
我正在寻找一种关于Mahout(不是命令行工作)的火花行相似性,火花项目相似性示例。我也在检查this tutorial,但它更专注于命令行。
有人可以提供一些关于如何在新Mahout上实现基于用户/项目的推荐引擎的示例吗?究竟什么输入DataModel?和之前的Mahout一样吗?文件系统数据模型是否仍可用于基于New Mahout spark的算法?
答案 0 :(得分:0)
Mahout Samsara是ML的计算引擎。它需要一个服务器来实际回答查询和摄取数据。
Mahout没有采取的最后一步是将生成的模型放入查询阶段的k近邻引擎中。 Lucene,它在Solr和Elasticsearch中的可扩展服务器版本非常适合KNN。查询将是用户历史记录的最新部分。我已经在Ruby中使用MongoDB集成实现了这一点,将模型写入MongoDB并使用Solr对其进行索引。然后进行Solr查询以获得建议。这是一项相当多的工作......
在Mahout(我)中维护CCO的人还创建了一个非常全功能的Apache PredictionIO模板,其中包含您在几乎完整的解决方案中所需的所有组件。它是OSS,因此您可以将其用作示例,也可以只安装并运行它。