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

15

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

b_acc = (sensitivity + specificity)/2

и оценка f1:

f1 = 2*precision*recall/(precision + recall) 
dvreed77
источник

Ответы:

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.

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

Shashwat
источник
1
Спасибо, сэр, у вас есть справка для информации о выборе Fscore против сбалансированной точности с точки зрения количества положительных / отрицательных классов?
джин
Я бы хотел запросить у @ gin дополнительную информацию о том, как выбирать между ними. У меня есть некоторые данные, где N составляет около 8%. Ответом выше кажется, что я должен использовать сбалансированную точность. Я искал другие ссылки на этот выбор (P> N -> b_acc), но ничего не видел.
anguyen1210
Это не имеет никакого смысла для меня. Сбалансированная точность инвариантна при переключении меток. Как вы можете «сделать его лучше» путем переключения меток, если оно не изменится?
Проктор ТК