2015-11-07 51 views
0

我正在尝试对推荐系统进行一些工作和研究。我想使用Apache Mahout。但是,我想添加一些方法,因为现在没有他们的实现。我试图做到这一点,但Mahout的源代码已被锁定,我无法添加或更改任何内容。我想知道是否有人知道如何解决这个问题。向Apache mahout添加新方法

+0

这是一个开源项目。你可以从Github下载源码(https://github.com/apache/mahout)。您可以在文本编辑器中编辑任何文件。哪个文件和方法给你一个问题? – ThisClark

+0

我使用Intellij作为我的IDE。例如,我想向推荐对象添加一个方法RecommendUsers(itme i)。我希望此方法返回对项目i感兴趣的用户。 – HimanAB

+0

然后你实际上不会修改Mahout源代码,你只需要编写一个使用Mahout来生成推荐的应用程序。 YouTube上现在有几个演示这些系统的教程。 – ThisClark

回答

1

将项目Gihub分叉到您自己的存储库中。做出你想要的修改,如果他们足够好,就向Mahout创建一个“拉取请求”。他们可能被纳入主流。

请注意,Mahout不接受旧式Hadoop“mapreduce”代码。新的Mahout基于更现代的计算后端,主要是Spark,但最近是Flink。该项目也主要是Scala,尽管这不是要求。

现代Mahout Recommender支持通过SimilarityAnalysis.cooccurrenceSimilarityAnalysis.rowsimilarity提供。这些提供了协作过滤和基于内容的建议,但必须使用knn /搜索引擎来提供。请参阅Mahout文档here以及此处的完整运行推荐程序:https://templates.prediction.io/PredictionIO/template-scala-parallel-universal-recommendation