【发布时间】:2014-11-10 22:22:07
【问题描述】:
我正在使用 Apache Mahout 编写推荐系统评估器,使用 train.csv 训练集和 Precision 指标。我的问题是:可以使用不是由评估者生成的固定测试集吗?
更具体地说,我有一个包含 UserId 列表的 test.csv 文件,我想针对这些用户提供建议并使用 Precision 指标评估结果,仅针对这组永不更改的固定用户。他们的评分在文件 train.csv 中,我用它来训练算法,它还包含所有其他用户的评分。
我还发布了我想要添加此功能的代码:
RandomUtils.useTestSeed();
DataModel model = new FileDataModel(new File("files/train.csv"));
RecommenderIRStatsEvaluator evaluator = new GenericRecommenderIRStatsEvaluator();
RecommenderBuilder recommenderBuilder = new RecommenderBuilder() {
public Recommender buildRecommender(DataModel model) throws TasteException {
//Here I build my recommender system
//return ...
}
};
IRStatistics stats = evaluator.evaluate(recommenderBuilder, null, model, null, 5,
4/*relevance Threshold*/, 1);
System.out.println(stats.getPrecision());
【问题讨论】:
标签: testing dataset mahout mahout-recommender evaluator