Zrównoważona dokładność vs wynik F-1

15

Zastanawiałem się, czy ktokolwiek mógłby wyjaśnić różnicę między wyważoną dokładnością

b_acc = (sensitivity + specificity)/2

oraz wynik f1, który jest:

f1 = 2*precision*recall/(precision + recall) 
dvreed77
źródło

Odpowiedzi:

19

Matematycznie b_acc jest średnią arytmetyczną recall_P, a recall_N, a f1 jest średnią harmoniczną recall_P i precyzji_P.

Zarówno F1, jak i b_acc są miernikami oceny klasyfikatora, które (do pewnego stopnia) radzą sobie z nierównowagą klas. W zależności od tego, która z dwóch klas (N lub P) przewyższa liczebnie drugą, każda metryka przewyższa drugą.

1) Jeśli N >> P, f1 jest lepsze.

2) Jeśli P >> N, b_acc jest lepszy.

Oczywiście, jeśli możesz zmienić etykietę, oba wskaźniki mogą być użyte w jednym z dwóch powyższych przypadków nierównowagi. Jeśli nie, to w zależności od braku równowagi w danych treningowych możesz wybrać odpowiednią metrykę.

Shashwat
źródło
1
Dziękuję, proszę pana, czy macie jakieś informacje na temat wyboru Fscore vs. zrównoważonej dokładności pod względem liczby klas dodatnich / ujemnych?
gin
Chciałbym poprzeć prośbę @ gin o dodatkowe informacje na temat wyboru między nimi. Mam pewne dane, w których N wynosi około 8%. Z powyższej odpowiedzi wynika, że ​​powinienem użyć zrównoważonej dokładności. Szukałem innych referencji dotyczących tego wyboru (P> N -> b_acc), ale nic nie widziałem.
anguyen1210,
To nie ma dla mnie żadnego sensu. Zrównoważona dokładność jest niezmienna przy przełączaniu etykiet. Jak możesz „ulepszyć”, zmieniając etykiety, jeśli pozostanie niezmieniony?
TC Proctor,