首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编写马赫特星火的推荐

如何编写马赫特星火的推荐
EN

Stack Overflow用户
提问于 2017-08-27 09:31:08
回答 2查看 1.1K关注 0票数 1

Mahout 0.13.0 / java 8

我对Mahout完全陌生,并试图了解如何使用Mahout实现推荐引擎。到目前为止我知道..。

Mahout提供三种类型的过滤-

  1. 协作过滤(非Hadoop )
  2. 分类(基于Hadoop)
  3. 聚类(基于Hadoop)
  4. 基于内容的过滤

为了开始实现我的第一个建议,我从协作过滤开始,它很容易在没有Hadoop的情况下实现。

协同过滤-

  1. 基于用户的推荐
  2. 基于项目的推荐
  3. 烂一
  4. 再来点..。

Mahout接口:

1.数据模型2. UserSimilarity 3. ItemSimilarity 4. UserNeighborhood 5.推荐

我理解它的组件,并编写了基于用户和项目的推荐,使用多个相似点和邻域的组合。

问题:

  1. 由于基于Map-Reduce的协作过滤,Mahout是否在0.13.0版本中完全放弃Map-Reduce?所有的协同过滤算法都被否决了吗?那麽,有甚麽选择呢?是因为地图减少的性能比星火慢吗?
  2. 我检查过,Mahout也提供了火花弗林克的支持。Mahout提供了两种类型的过滤->、火花项相似度、火花行相似性。但是,我还没有找到任何基于java的示例来创建java推荐。
  3. 可能是Mahout与Scala有更好的兼容性,但是我们能用Java编写基于火花项相似和火花行相似的推荐引擎吗?同时也提出一些例子。
  4. 在没有Hadoop的情况下,Mahout火花可以独立运行吗?到目前为止,我知道Spark是Hadoop的另一种选择,在这里我们可以进行实时处理。除了mahout-spark_2.10-0.13.0.jar和mahout-spark_2.10-0.13.0-dependency-reduced.jar?之外,我需要添加的所有库
  5. Mahout星火与独立的Apache火花不同吗?我也在考虑使用独立的Apache。

谁能帮我澄清一下。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-27 16:32:38

1) Map减少率在0.10.0时完全取消。“新Mahout”是一个数学表达式的Scala,它是从引擎中抽象出来的--例如,相同的Scala代码应该能够为Flink/Spark/其他引擎编译。是的,这是基于业绩的。

2) Java并没有做太多的工作,但是我听说有人在使用它。

3.)我想您是在问您是否可以用Java编写一个Spark推荐引擎。答案是肯定的。但是,实际上,我的意思是,我还没有在Scala / Java之间进行大量移植,但理论上您应该能够将scala函数/类导入您的Java代码?这个链接展示了从零开始编写一个恢复器的更多内容--尽管它在Scala中,但是您需要将它移植到Java (如果这样做,可以自由地打开一个PR,我们将把它作为一个示例)。

4.)是的,它可以。这个链接描述了如何在齐柏林的Mahout中设置Spark,但是对于任何设置(例如,您需要的jars和您需要调整的SparkConf ),iirc,您需要mahout-火花,mahout-数学,mahout-数学-scala,主体保持不变。(火花依赖性降低,您只需要使用本地的shell程序,例如齐柏林飞艇或马赫特星火壳牌)。

5.)是的,Mahout是一个在星火或其他分布式引擎上运行的库。

票数 1
EN

Stack Overflow用户

发布于 2017-08-28 00:17:28

实际上,新的推荐算法@rawkintrevo讨论的是一个基于Apache PredictionIO的端到端交钥匙系统,称为通用推荐器。PIO附带了Java。一些链接:

  • 关于吉顿的通用推荐项目
  • 用于集成UR的文档
  • 各种安装说明,请注意,有AWS AMI预安装和配置的试验。其他一些说明如何进行更可伸缩的部署。
  • Apache PredictionIO文档
  • 开源软件社区对UR的支持是这里,而PIO是这里

Apache、Apache PredictionIO、Spark和Universal都是用Scala编写的。UR有一个指向Java的端口,但这不是维护的,也不是真正需要的,因为您可能需要的所有选项都是作为配置参数公开的,并且有很好的文档记录。

通过实时发送数据和进行实时查询的通信方式是通过简单的REST调用或使用一个PIO,其中包括Java。

UR支持基于用户的、基于项目的、基于购物车(基于项目集的)、基于多模式数据的建议(使用许多不同的用户指示符或事件)。它还支持一组丰富的业务规则。

不需要写任何东西,只需要输入你的数据并决定配置,剩下的就是安装和安装。

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

https://stackoverflow.com/questions/45903555

复制
相关文章

相似问题

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