Оценка реализации рекомендателя на основе Mahout

Я использую 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 выдает не нормализованные значения и как их правильно интерпретировать?


person aumanets    schedule 18.06.2013    source источник


Ответы (1)


Оценщик тут ни при чем. Не имеет смысла оценивать среднюю абсолютную ошибку с помощью рекомендателя логических данных. Средняя средняя ошибка находится между фактической и прогнозируемой оценкой, но оценок нет.

Вместо этого предполагается, что вход имеет рейтинг «1». Прогнозируемый «рейтинг» в этом случае, однако, не является величиной, имеющей значение, хотя чем выше, тем сильнее.

Вместо этого вы должны использовать метрики точности/отзыва или аналогичные метрики ранжирования.

person Sean Owen    schedule 18.06.2013
comment
Спасибо, я проведу несколько тестов с RecommenderIRStatsEvaluator, чтобы оценить точность/отзыв. - person aumanets; 18.06.2013
comment
Я пытался запустить RecommenderIRStatsEvaluator для GenericBooleanPrefItemBasedRecommender, и я всегда получаю 0 по точности и отзыву. Я использую набор данных 100k MovieLens. Вы знаете, что вызывает такое поведение? - person aumanets; 19.06.2013