Pregunta

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.

¿Fue útil?

Solución

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top