Правильно ли усреднить 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, имеет больше смысла, так как это лучше отразит вашу пользу на точности или отзыве. Проверьте эту статью для более подробной информации.