2015-11-07 60 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