Правильно ли усреднить Precision/Recall для глобальной оценки производительности с несколькими метками?

Давайте поговорим о проблеме многослойной классификации с метками A, B и C. Я могу рассчитать точность / отзыв для каждой метки, как показано ниже:

  • Точность: правильные назначения NodeX / общие назначения NodeX
  • Напомним: правильные назначения NodeX / Всего истинных вхождений NodeX
  • Измерение F1: 2 * (точность * отзыв) / (точность + отзыв)

Поскольку у меня есть 3 метки, я бы хотел получить глобальный показатель производительности путем усреднения значений каждого отдельного узла, как предложено здесь.

Однако я заметил, что это нарушает инвариант меры F1! Пример для уточнения:

Label, Precision, Recall, F1
A,     0.5,       1.0,    0.666 
B,     1.0,       1.0,    1.0
C,     0.5,       0.5,    0.5
AVG,   0.666,     0.833,  0.611

NOTE: (2 * (0.666 * 0.833) / (0.666 + 0.833)) != 0.611

Правильно ли пытаться придумать глобальные метрики на основе узлов для измерения эффективности многослойной классификации? Есть ли лучший способ сделать это?

ПРИМЕЧАНИЕ: я знаю о других показателях производительности (точность, ROC/AUC и т. Д.), Но я бы тоже хотел с этим разобраться.

1 ответ

Среднее значение F1 предполагает, что точность и отзыв одинаково взвешены. Но это не соответствует действительности. Используйте усредненную точность и отзыв, чтобы рассчитать балл F1, имеет больше смысла, так как это лучше отразит вашу пользу на точности или отзыве. Проверьте эту статью для более подробной информации.

Другие вопросы по тегам