Zastanawiałem się, czy ktoś mógłby wyjaśnić różnicę między zrównoważoną dokładnością, która wynosi
b_acc = (sensitivity + specificity)/2
i wynik f1, czyli:
f1 = 2*precision*recall/(precision + recall)
Odpowiedź
Matematycznie, b_acc jest średnią arytmetyczną z przypomnienia_P i przypomnienia_N, a f1 jest średnią harmoniczną z wartości przypomnienia_P i precyzji_P.
Zarówno F1, jak i b_acc to metryki oceny klasyfikatora, które (w pewnym stopniu) obsługują brak równowagi. W zależności od tego, która z dwóch klas (N lub P) przewyższa liczbę innych, każda metryka jest skuteczniejsza od drugiej.
1) Jeśli N >> P, f1 jest lepsze.
2) Jeśli P >> N, b_acc jest lepsze.
Oczywiście, jeśli możesz zmienić etykietę, obie metryki mogą być użyte w dowolnym z dwóch powyższych przypadków nierównowagi. Jeśli nie, to w zależności od braku równowagi w danych szkoleniowych możesz wybrać odpowiednią metrykę.
Komentarze
- Dziękuję, czy masz odniesienie do informacji dotyczących wyboru Fscore vs zrównoważonej dokładności pod względem liczby klas dodatnich / ujemnych?
- Chciałbym powtórzyć żądanie @gin ' dla więcej informacji na temat wyboru między nimi. Mam pewne dane, gdzie N wynosi około 8%. Odpowiadając powyżej, wydaje mi się, że powinienem użyć Balanced Accuracy. ' szukałem innych odniesień do tego wyboru (P > N – > b_acc), ale nie ' nic nie widziałem.
- To nie ' nie ma dla mnie żadnego sensu. Zrównoważona dokładność jest niezmienna przy przełączaniu etykiet. Jak możesz " ulepszyć to " przez przełączanie etykiet, jeśli pozostanie niezmienione?
- @TCProctor Czy zrównoważona zmiana dokładności rangi względem F1 przy zmianie etykiety?