我试图使用mahout在输入中获得als-wr算法的精度和召回率。
问题是我发现使用als-wr算法的唯一方法是从mahout命令行-https://mahout.apache.org/users/recommender/intro-als-hadoop.html
我在网络上看不到任何在代码中使用此算法的示例。
在评估器中使用scala / java运行它的任何示例或帮助,将受到高度赞赏。
最佳答案
RecommenderIRStatsEvaluator user_eval = new GenericRecommenderIRStatsEvaluator();
RecommenderBuilder user_rb = new RecommenderBuilder()
{
@Override
public Recommender buildRecommender(DataModel model) throws TasteException
{
UserSimilarity user_ll_sim = new LogLikelihoodSimilarity(model);
UserNeighborhood user_ll_nbhd = new NearestNUserNeighborhood(5, user_ll_sim, model);
return new GenericUserBasedRecommender(model, user_ll_nbhd, user_ll_sim);
}
};
IRStatistics user_ll_stats = user_eval.evaluate(user_ll_rb, null, model, null, 2, GenericRecommenderIRStatsEvaluator.CHOOSE_THRESHOLD, 0.8);
System.out.println(user_ll_stats.getPrecision()+" "+user_ll_stats.getRecall());
用SVD替换基于用户的LogLikelihood模型。
关于java - Mahout-Run Als-Wr推荐者评估程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24800467/