F1-score versus nauwkeurigheid: welke moet u gebruiken?
Bij het gebruik van classificatiemodellen in machine learning zijn de twee meetgegevens die we vaak gebruiken om de modelkwaliteit te evalueren de F1-score en nauwkeurigheid .
Voor beide metrieken geldt: hoe hoger de waarde, hoe beter een model in staat is observaties in klassen te classificeren.
Elke metriek wordt echter berekend met behulp van een andere formule en er zijn voor- en nadelen verbonden aan het gebruik ervan.
In het volgende voorbeeld ziet u hoe u elke metriek in de praktijk kunt berekenen.
Voorbeeld: Berekening van F1-score en nauwkeurigheid
Stel dat we een logistisch regressiemodel gebruiken om te voorspellen of 400 verschillende universiteitsbasketbalspelers wel of niet zullen worden opgeroepen voor de NBA.
De volgende verwarringsmatrix vat de voorspellingen van het model samen:
U kunt als volgt verschillende statistieken voor de verwarringsmatrix berekenen:
Nauwkeurigheid: correcte positieve voorspellingen ten opzichte van het totale aantal positieve voorspellingen
- Nauwkeurigheid = waar positief / (waar positief + vals positief)
- Nauwkeurigheid = 120 / (120 + 70)
- Nauwkeurigheid = 0,63
Herinnering: corrigeer positieve voorspellingen ten opzichte van het totale aantal werkelijke positieve resultaten
- Terugroepen = waar positief / (waar positief + fout negatief)
- Terugroepen = 120 / (120 + 40)
- Terugroepen = 0,75
Nauwkeurigheid: percentage van alle waarnemingen correct geclassificeerd
- Nauwkeurigheid = (echt positief + echt negatief) / (totale steekproefomvang)
- Nauwkeurigheid = (120 + 170) / (400)
- Nauwkeurigheid = 0,725
F1-score: harmonisch gemiddelde van precisie en herinnering
- F1-score = 2 * (Precisie * Recall) / (Precisie + Recall)
- F1-score = 2 * (0,63 * 0,75) / (0,63 + 0,75)
- F1-score = 0,685
Wanneer F1-score versus nauwkeurigheid gebruiken
Er zijn voor- en nadelen aan het gebruik van F1-score en nauwkeurigheid.
Nauwkeurigheid :
Pro : Gemakkelijk te interpreteren. Als we zeggen dat een model 90% accuraat is, weten we dat het 90% van de waarnemingen correct heeft geclassificeerd.
Nadeel : er wordt geen rekening gehouden met de manier waarop gegevens worden gedistribueerd. Laten we bijvoorbeeld aannemen dat 90% van alle spelers niet is opgeroepen voor de NBA. Als we een model hadden dat eenvoudigweg voorspelde dat elke speler zich niet zou opstellen, zou het model de uitkomst voor 90% van de spelers correct voorspellen. Deze waarde lijkt hoog, maar het model kan feitelijk niet correct voorspellen welke spelers zullen worden opgeroepen.
F1 resultaten :
Pro : Bedenk hoe gegevens worden gedistribueerd. Als de gegevens bijvoorbeeld zeer onevenwichtig zijn (bijvoorbeeld 90% van alle spelers is niet opgesteld en 10% is dat niet), dan zal de F1-score een betere beoordeling van de prestaties van het model opleveren.
Nadeel : Moeilijker te interpreteren. De F1-score is een mix van precisie en modelherinnering, waardoor het iets moeilijker te interpreteren is.
Over het algemeen:
We gebruiken vaak nauwkeurigheid als de klassen in evenwicht zijn en er geen groot nadeel is aan het voorspellen van valse negatieven.
We gebruiken de F1-score vaak wanneer de klassen onevenwichtig zijn en er een ernstig nadeel is bij het voorspellen van valse negatieven.
Als we bijvoorbeeld een logistisch regressiemodel gebruiken om te voorspellen of een persoon al dan niet kanker heeft, zijn vals-negatieven echt slecht (bijvoorbeeld voorspellen dat een persoon geen kanker heeft terwijl hij dat wel doet), dus zal de F1-score modellen benadelen die wel kanker hebben. te veel valse negatieven. meer dan precisie.
Aanvullende bronnen
Regressie vs. classificatie: wat is het verschil?
Inleiding tot logistieke regressie
Hoe logistische regressie uit te voeren in R
Hoe logistieke regressie uit te voeren in Python