2013-05-13 41 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