mahout Recommende Evaluator - 测试部分数据

时间:2014-07-08 13:46:39

标签: java mahout recommendation-engine

如何仅使用部分数据来测试我的推荐人,请说:

user_id, item_id, feature
1, 1, 1
1, 2, 0
1, 3, 1
2, 1, 1
2, 2, 0

我想通过仅测试feature = 1的记录来获得精度。

我正在使用GenericRecommenderIRStatsEvaluator -

        RecommenderIRStatsEvaluator evaluator =
       new GenericRecommenderIRStatsEvaluator();
        IRStatistics stats = evaluator.evaluate(
       recommenderBuilder, modelBuilder, model, null, 10,
         GenericRecommenderIRStatsEvaluator.CHOOSE_THRESHOLD,
       1.0);
        System.out.println(stats.getPrecision())

我该怎么做?

2 个答案:

答案 0 :(得分:1)

我不确定是否有自动方式执行此操作,但如果您想手动执行此操作

计算TP真阳性和FP误报所需的精度。

这是TP真阳性是正确的答案(特征= 1)

误报是您的推荐人检索到的错误答案(根据我的理解是功能= 0)

计算你计算的精度P = TP /(TP + FP); 这是您手动计算精度的方法

答案 1 :(得分:0)

如果您想将数据拆分为测试和训练并计算平均绝对差值,请参阅Mahout中的RecommenderEvaluator类。

此外,我已经回答了您的问题,以获得另一个线程中的精度和召回值。但是,我不相信精确度和召回价值将是强劲的业绩指标。