我对Mahout很陌生,我正在努力理解不同项目的“领域”,以及它们之间的关系。我理解摒弃了许多MapReduce算法,它将基于Apache或Spark或其他引擎,比如h2o (基于"Apache : Beyond MapReduce“的介绍)。
我想尝试一些推荐算法,但我不太确定什么是新的,什么是“不推荐的”。我看到了以下链接,
指spark-rowsimilarity和spark-itemsimilarity。(我不明白这些链接是在谈论一个非自我的算法还是一个设计.这可能是一个设计,因为他们没有列出在mahout点apachedot /user/basic/orithms.html.无论如何)。
同时,Apache (或者它是星火MLLib?)实现推荐的ALS算法(Flink的机器学习和火花MLlib)。
一般性问题:
帮助对话的其他链接:
具体问题:
发布于 2016-05-17 07:02:06
我在Flink上做ML已经有一段时间了,我正在做大量的侦察工作,我正在监视这个生态系统中发生的事情。您要求的是在根本不存在的项目之间进行合理的协调。算法被一遍又一遍地重新实现,就我所见,这样做比与不同的框架集成要容易得多。Samsara实际上是最便携的解决方案之一,但它只适用于一些应用程序。
是否这些来自mahout.apache.org的算法已被废弃,并被迁移到Flink / Spark,这样Flink / Spark的ML库和支持就会增加吗?
正如我所说,这需要项目之间的协调,而这不是一件事。
Flink / Spark MLLib是否打算成为一个引擎或引擎+算法库,并对算法提供良好的支持?
它们应该是理想生态系统中的第一件事,但它们将继续为商业目的构建自己的ML库:带有ML库的计算引擎非常畅销。事实上,我在Flink ML上全职工作,并不是因为我相信这是在Flink上做ML的最佳方法,而是因为,现在,Flink需要在许多环境中销售。
@pferrel建议PredictionIO是一个优秀的软件,但有许多替代方案正在开发中:例如,Beam正在设计一个机器学习API,以概括不同跑步者的实现(Flink、Spark、H2O等)。另一种选择是数据分析平台,如Knime、RapidMiner和其他平台,它们可以在Spark或其他大数据工具上构建管道。
发布于 2016-05-15 18:10:09
火花-条目相似和火花-罗嗦是命令行访问驱动程序。它们是基于马赫特-萨马拉的课程。这些代码的描述用于运行自v0.10.0以来支持的代码。
链接https://mahout.apache.org/users/basics/algorithms.html显示在哪个“计算引擎”上支持哪些标志。"Mapreduce“列中的任何内容都是反对的。
也就是说,Mahout与其说是算法的集合,不如说是0.10.0之前的Mahout。它现在有一个类似R的DSL,其中包括广义张量数学,大部分的Mahout algos都是由它构建的。因此,把Mahout想象成一个“自己拥有的数学和算法”工具。但是每个产品都是可伸缩的,取决于您对计算引擎的选择。引擎本身也是本地可用的,所以您不必只使用抽象的DSL。
关于Mahout如何与MLlib或任何algo相关,将出现重叠,并且可以在代码中交替使用。
关于推荐人,新的SimilarityAnalysis.cooccurrence实现了一项重大的创新,称为交叉发生,它允许推荐者摄入几乎任何关于用户或用户上下文的信息,甚至可以解释项目内容的相似性。马赫特-轮回部分是相关交叉发生的引擎.在这里看到一些描述算法的幻灯片:http://www.slideshare.net/pferrel/unified-recommender-39986309
有一个完整的、端到端的实现,使用PredictionIO框架(PIO本身现在是一个建议的Apache孵化器项目),它已经成熟,可以使用以下说明来安装:https://github.com/actionml/cluster-setup/blob/master/install.md。
https://stackoverflow.com/questions/37229908
复制相似问题