java - Mahout-Run Als-Wr推荐者评估程序

标签 java algorithm scala hadoop mahout

我试图使用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/

相关文章:

java - Liferay Unresolved 需求

java - ArrayList 使用比较器对对象进行排序

java - 如何在 map 中使用时间戳作为键

class - 在 Scala final case 类中使用 new

java - 如何修复 TextWatcher 的方向变化?

algorithm - 在特殊有向图中查找所有权重 > 0 的循环

python - 当 A、B、M 是大数时,如何计算 (A^B)%M?

php - 按购物车中的项目拆分减少

scala - 我应该在 build.sbt 中包含 scala-compiler 作为依赖项吗?

scala - 如何在 org.scala-sbt#sbt_2.9.1;0.12.3 中配置 2.9.1