質問

Mahout comes with a number of predefined Hadoop job classes (stuff derived from AbstractJob). These include jobs for computing recommendations (RecommenderJob). Mahout also defines various RecommenderEvaluators for use in testing these recommendations, but it's not clear to me how one runs these in a distributed fashion using Hadoop.

Is it: run the recommender job, and then feed the output of that into the evaluator? I looked at the RMSRecommenderEvaluatorTest, but this seems to do everythinig all in one fell swoop, and doesn't look like a Hadoop job.

役に立ちましたか?

解決

Firstly I think recommendations in Mahout come in two parts: non-distributed algorithms (from Taste) and distributed hadoop jobs (ParallelAls and Item-based Collaborative Filtering). The RMSEEvaluator is in the non-distributed part, don't think it works with hadoop jobs.

For evaluating a hadoop recommendation job in Mahout, have a look at

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

You can also write some scripts and download the recommendation results to local filesystem for evaluation.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top