Java ApacheMahout-我应该使用它来构建自定义推荐程序吗?

Java ApacheMahout-我应该使用它来构建自定义推荐程序吗?,java,mahout,recommendation-engine,Java,Mahout,Recommendation Engine,我正在迭代构建一个基于频繁变化的概率潜在因素模型的定制推荐系统。我已经编写了一些实现该模型的Java代码。它将用户项目评级矩阵分解为两个矩阵UxK(用户特征向量)和IxK(项目特征向量),以估计缺失的评级 我正在寻找一种最简单的方法,将我的代码插入(可能通过重写)一个框架,以构建一个推荐系统、一个基线,并能够以标准方式相互比较——例如,交叉验证以计算精度、召回率、RMSE。。。由于我的系统仍然缺乏这一点,该框架应提供基于估计用户项目评级矩阵的计算方法和建议 看来这项工作应该由管理员来做。然而,它

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

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

看来这项工作应该由管理员来做。然而,它的文档称“它目前不支持基于模型的推荐程序”。有谁能告诉我,我想通过Mahout实现的目标是否可行,是否值得花时间学习如何使用它。如果Mahout不适合,您能建议其他选择吗


非常感谢

我得说,你最好去问办公室里的好人

这就是说,Mahout提供了基于SVD的推荐程序,使用不同的因子进行矩阵计算。例如,ALSWRFactorizer支持两种模式:

  • 显式反馈评级矩阵的因式分解
  • 分解隐式反馈变量
    通过实现您自己的推荐程序(ExtendeAbstractRecommender)或实现您自己的factoryzer(ExtendeAbstractFactoryzer),扩展功能应该很容易。尽管如此,如果不了解更多关于您的方法或实施的信息,我真的无法多说。

    有两类推荐人: 基于数据(为特定用户(如SVD)生成建议) 基于模型(生成模型以根据用户数据(如RBM)构建建议)

    Mahout不支持基于模型的推荐程序(没有相应的接口) 您可以实现一些算法,但开箱即用的情况下,您将无法使用基于模型的方法的某些功能

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