Сбалансированная точность против F-1


15

Мне было интересно, если кто-нибудь может объяснить разницу между сбалансированной точностью, которая

b_acc = (sensitivity + specificity)/2

и оценка f1:

f1 = 2*precision*recall/(precision + recall) 

Ответы:


19

Математически, b_acc - среднее арифметическое для rec_P, а Recall_N и f1 - среднее гармоническое для rec_P и precision_P.

И F1, и b_acc являются метриками для оценки классификатора, которые (в некоторой степени) обрабатывают дисбаланс классов. В зависимости от того, какой из двух классов (N или P) превосходит другой, каждый показатель превосходит другой.

1) Если N >> P, то f1 лучше.

2) Если P >> N, лучше b_acc.

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


1
Спасибо, сэр, у вас есть справка для информации о выборе Fscore против сбалансированной точности с точки зрения количества положительных / отрицательных классов?
— джин

Я бы хотел запросить у @ gin дополнительную информацию о том, как выбирать между ними. У меня есть некоторые данные, где N составляет около 8%. Ответом выше кажется, что я должен использовать сбалансированную точность. Я искал другие ссылки на этот выбор (P> N -> b_acc), но ничего не видел.
— anguyen1210

Это не имеет никакого смысла для меня. Сбалансированная точность инвариантна при переключении меток. Как вы можете «сделать его лучше» путем переключения меток, если оно не изменится?
— Проктор ТК
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.