Evenwichtige nauwkeurigheid versus F-1-score

Ik vroeg me af of iemand het verschil zou kunnen verklaren tussen gebalanceerde nauwkeurigheid, namelijk

b_acc = (sensitivity + specificity)/2 

en f1 score die is:

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

Antwoord

Wiskundig gezien is b_acc het rekenkundig gemiddelde van recall_P en recall_N en f1 is het harmonische gemiddelde van recall_P en precision_P.

Zowel F1 als b_acc zijn metrieken voor classificatie van classificatie, die (tot op zekere hoogte) klasse behandelen onbalans. Afhankelijk van welke van de twee klassen (N of P) de andere overtreft, presteert elke metriek beter dan de andere.

1) Als N >> P, is f1 een betere.

2) Als P >> N, is b_acc beter.

Het is duidelijk dat als je kunt labelen-wisselen, beide metrieken kunnen worden gebruikt in elk van de twee bovenstaande onbalansgevallen. Zo niet, dan kunt u, afhankelijk van de onbalans in de trainingsgegevens, de juiste statistiek selecteren.

Opmerkingen

  • Dank u meneer, heeft u een referentie voor de informatie over het kiezen van Fscore versus gebalanceerde nauwkeurigheid in termen van aantal positieve / negatieve klassen?
  • Ik wil het verzoek van @gin ' om meer informatie over hoe u tussen de twee kunt kiezen. Ik heb wat gegevens waar de N ongeveer 8% is. Door het bovenstaande antwoord te geven, lijkt het erop dat ik Balanced Accuracy moet gebruiken. Ik ' ben op zoek geweest naar andere referenties over deze keuze (P > N – > b_acc) maar heb ' niks gezien.
  • Dit ' slaat nergens op. De gebalanceerde nauwkeurigheid is onveranderlijk bij het wisselen van labels. Hoe kun je " het beter maken " door van label te wisselen als het ongewijzigd blijft?
  • @TCProctor Can gebalanceerde nauwkeurigheidswijziging in rang ten opzichte van F1 gegeven de labelwissel?

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *