Я использую mahout 0.7 для реализации рекомендательной системы.
Чтобы оценить качество предоставленных рекомендаций, я использую 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
с GenericBooleanPrefItemBasedRecommender
выдает не нормализованные значения и как их правильно интерпретировать?