我正在使用 mahout 0.7 来实现推荐系统。
Ro 评估我正在使用的所提供建议的质量,AverageAbsoluteDifferenceRecommenderEvaluator
这使我能够评估 MAE(平均平均误差)。当我使用 AverageAbsoluteDifferenceRecommenderEvaluator 时,MAE 值似乎在 0.0 和 1.0 之间进行了标准化。但如果我选择GenericBooleanPrefItemBasedRecommender
,则值不在 0.0 和 1.0 之间。
如果我增加训练数据集的百分比,则评估值越大,GenericBooleanPrefItemBasedRecommender
表示推荐不佳。
我是这样评价推荐人的:
RecommenderEvaluator evaluator = new AverageAbsoluteDifferenceRecommenderEvaluator();
RecommenderBuilder recommenderBuilder = new RecommenderBuilder() {
public Recommender buildRecommender(DataModel model) throws TasteException {
ItemSimilarity similarity = new EuclideanDistanceSimilarity(model);
return new GenericItemBasedRecommender(model, similarity); // or GenericBooleanPrefItemBasedRecommender
}
};
double evaluation = evaluator.evaluate(recommenderBuilder, null, model, 0.7, 1.0);
为什么AverageAbsoluteDifferenceRecommenderEvaluator
withGenericBooleanPrefItemBasedRecommender
会产生未标准化的值,我该如何正确解释它们?