Различия в расчетах точности NB / Напомним AVG / общее количество баллов

Я провожу анализ классификации текста, и я запустил классификаторы на основе NB, которые дали следующие результаты:

Classification Report:
             precision    recall  f1-score   support

          0       0.00      0.00      0.00         2
          1       0.67      1.00      0.80         4

avg / total       0.44      0.67      0.53         6

Classification Report:
             precision    recall  f1-score   support

          0       0.00      0.00      0.00         0
          1       1.00      0.83      0.91         6

avg / total       1.00      0.83      0.91         6

Что меня озадачивает, так это следующая проблема. Почему среднее / общее количество баллов рассчитывается по-разному? Почему среднее / общее количество баллов во второй таблице является просто копией результатов точности / отзыва для класса 1? потому что не было экземпляров тестирования класса 0?

С Уважением,

guzden

1 ответ

Решение

Расчет баллов одинаков в обоих случаях:

Ex.1: 1) f1 = 2 * 0.67 * 1.00 / (0.67 + 1.00) = 0.80
 average f1 = 2 * 0.44 * 0.67 / (0.44 + 0.67) = 0.53

Ex.2: 2) f1 = 2 * 1.00 * 0.83 / (1.00 + 0.83) = 0.91
 average f1 = 2 * 1.00 * 0.83 / (1.00 + 0.83) = 0.91

Эта проблема, с которой вы сталкиваетесь здесь, называется парадоксом Симпсона: у вас есть один результат в разных группах (0 и 1), который изменяется при объединении групп (в среднем). Проверьте вики- страницу, там есть хороший пример и объяснение.


Отредактировано:

Напомним / вычисление среднего значения точности в первом случае:

Av. precision = (0.67 * 4 + 0.00 * 2) / (4 + 2) = 0.44
Av. recall    = (1.00 * 4 + 0.00 * 2) / (4 + 2) = 0.67
Другие вопросы по тегам