2013-05-13 80 views
2

Mahout帶有許多預定義的Hadoop作業類(從AbstractJob派生的東西)。這些包括計算建議的工作(RecommenderJob)。 Mahout還定義了用於測試這些建議的各種RecommenderEvaluators,但我不清楚如何使用Hadoop以分佈式方式運行這些建議。如何評估使用Mahout/Hadoop的推薦人

是否:運行推薦者作業,然後將其輸出提供給評估者?我看了一下RMSRecommenderEvaluatorTest,但是這看起來似乎一舉全能,並且看起來不像Hadoop的工作。

+0

你有沒有找到解決你的問題?我也在研究如何從測試集中生成RMSE指標。 – stackoverflowuser2010 2014-04-17 22:58:16

+0

我標記的答案是正確的,因爲我認爲是。我也嘗試使用精度/回憶度量來運行一些評估,但結果並不令人滿意:我不認爲我的數據集足夠密集,統計數據纔有意義。最終,我們採取了不太正式的評估。 – 2014-04-23 00:50:05

回答

2

首先,我認爲Mahout中的建議分爲兩部分:非分佈式算法(來自Taste)和分佈式hadoop作業(ParallelAls和基於項目的協作過濾)。 RMSEEvaluator處於非分佈式部分,不要認爲它適用於hadoop作業。

用於評估亨利馬烏Hadoop的推薦工作,看看

org.apache.mahout.cf.taste.hadoop.als.FactorizationEvaluator 

你也可以寫一些腳本並下載推薦結果到本地文件系統進行評估。

+0

這聽起來像我要來的結論。我打算再多一點來確認一下。 – 2013-05-17 20:36:39

+1

只是好奇,我可以使用org.apache.mahout.cf.taste.hadoop.als.FactorizationEvaluator來評估由... item.RecommenderJob生成的建議嗎? – shihpeng 2015-04-28 09:01:10