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)
źródło
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)
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ę.