繁体   English   中英

Apache Mahout - 我应该用它来构建自定义推荐器吗?

[英]Apache Mahout - should I use it to build a custom recommender?

我正在迭代地构建基于频繁变化的概率潜在因子模型的定制推荐系统。 我已经编写了一些实现该模型的Java代码。 它将用户项目评级矩阵分解为两个矩阵UxK(用户特征向量)和IxK(项目特征向量)以估计缺失的评级。

我正在寻找最简单的方法来插入(可能通过重写)我的代码到框架中构建推荐系统,基线,并能够以标准方式相互比较这些 - 例如交叉验证来计算精度,召回,RMSE ......由于我的系统仍然缺乏这个,框架应该提供基于估计的用户项目评级矩阵来计算和提出建议的方法。

看起来Mahout应该做的工作。 但是,它的文档说“它目前不支持基于模型的推荐器。” 任何人都可以告诉我,我想要实现的是Mahout是否可以实现,以及是否值得花时间学习如何使用它。 如果Mahout不合适,您能否提出其他选择?

非常感谢!

我会说你最好在Mahout邮件列表中询问好伙伴

也就是说,Mahout提供了基于SVD的推荐器,它们使用不同的因子来进行矩阵计算。 例如,ALSWRFactorizer支持2种模式:

  1. 对显式反馈评级矩阵进行因式分解。 见纸
  2. 分解隐式反馈变量。 见纸

通过实现自己的推荐器(扩展AbstractRecommender)或实现自己的分解器(扩展AbstractFactorizer)来扩展功能应该很容易。 尽管如此,如果不了解更多关于您的方法或实施情况,我真的不能说更多。

有两类推荐器:基于数据(基于模型为特定用户生成推荐,例如SVD)(生成模型以通过用户数据构建推荐,例如RBM)

Mahout不支持基于模型的推荐器(没有适当的接口来实现)你可以实现一些算法,但开箱即用的你将无法使用基于模型的方法的某些功能。

顺便说一下,我更喜欢MyMediaLite(如果你的数据集小到足以避免Hadoop)。 MML支持集合,并且有更多算法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM