我试图通过mahout获得als-wr算法对我输入的精确性和召回率。问题是我发现使用als wr算法的唯一方法是从mahout命令行-https://mahout.apache.org/users/recommender/intro-als-hadoop.html我在网上没有看到任何在代码中使用这种算法的例子。任何在scala/java中使用evaluator运行它的示例或帮助都将非常感谢。
nhaq1z211#
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());
用奇异值分解模型代替基于用户的对数似然模型。
1条答案
按热度按时间nhaq1z211#
用奇异值分解模型代替基于用户的对数似然模型。