Wat is een “goed”? nauwkeurigheid voor machine learning-modellen?
Bij het gebruik van classificatiemodellen in machine learning is nauwkeurigheid een maatstaf die we vaak gebruiken om de kwaliteit van een model te evalueren.
Precisie is eenvoudigweg het percentage van alle waarnemingen dat correct door het model is geclassificeerd.
Het wordt als volgt berekend:
Nauwkeurigheid = (# echte positieven + # echte negatieven) / (totale steekproefomvang)
Een vraag die studenten vaak stellen over nauwkeurigheid is:
Wat wordt beschouwd als een ‘goede’ waarde voor de nauwkeurigheid van een machine learning-model?
Hoewel de nauwkeurigheid van een model kan variëren tussen 0% en 100%, is er geen universele drempel die we gebruiken om te bepalen of een model al dan niet een „goede“ nauwkeurigheid heeft.
In plaats daarvan vergelijken we doorgaans de nauwkeurigheid van ons model met die van een referentiemodel.
Een basislijnmodel voorspelt eenvoudigweg dat elke waarneming in een dataset tot de meest voorkomende klasse behoort.
In de praktijk kan elk classificatiemodel met een hogere nauwkeurigheid dan een referentiemodel als „nuttig“ worden beschouwd, maar uiteraard geldt: hoe groter het verschil in nauwkeurigheid tussen ons model en een referentiemodel, hoe beter.
Het volgende voorbeeld laat zien hoe u grofweg kunt bepalen of een classificatiemodel een „goede“ nauwkeurigheid heeft of niet.
Voorbeeld: Bepalen of een model een “goede” nauwkeurigheid heeft
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:
Zo berekent u de nauwkeurigheid van dit model:
- Nauwkeurigheid = (# echte positieven + # echte negatieven) / (totale steekproefomvang)
- Nauwkeurigheid = (120 + 170) / (400)
- Nauwkeurigheid = 0,725
Het model voorspelde de uitkomst correct voor 72,5% van de spelers.
Om een idee te krijgen of de nauwkeurigheid ‘goed’ is of niet, kunnen we de nauwkeurigheid van een basismodel berekenen.
In dit voorbeeld was de meest voorkomende uitkomst voor spelers dat ze niet werden opgesteld. Concreet werden 240 van de 400 spelers niet opgesteld.
Een basismodel zou er een zijn dat eenvoudigweg voorspelt dat elke speler niet wordt opgesteld.
De nauwkeurigheid van dit model zou als volgt worden berekend:
- Nauwkeurigheid = (# echte positieven + # echte negatieven) / (totale steekproefomvang)
- Nauwkeurigheid = (0 + 240) / (400)
- Nauwkeurigheid = 0,6
Dit basismodel zou de uitkomst voor 60% van de spelers correct voorspellen.
In dit scenario biedt ons logistische regressiemodel een opmerkelijke verbetering in nauwkeurigheid ten opzichte van een basismodel, dus beschouwen we ons model als op zijn minst ’nuttig‘.
In de praktijk zouden we waarschijnlijk verschillende classificatiemodellen passen en het uiteindelijke model kiezen als het model dat de grootste winst in nauwkeurigheid oplevert vergeleken met een basismodel.
Voorzorgsmaatregelen voor het gebruik van nauwkeurigheid om de prestaties van modellen te evalueren
Precisie is een veelgebruikte maatstaf omdat deze gemakkelijk te interpreteren is.
Als we bijvoorbeeld zeggen dat een model voor 90% accuraat is, weten we dat het 90% van de waarnemingen correct heeft geclassificeerd.
Bij de nauwkeurigheid wordt echter geen rekening gehouden met de manier waarop de 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.
Een vaak gebruikte alternatieve statistiek heet F1 Score , die rekening houdt met hoe de 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.
Lees hier meer over de verschillen tussen nauwkeurigheid en F1-score.
Aanvullende bronnen
De volgende zelfstudies bieden aanvullende informatie over statistieken die worden gebruikt in machine learning-classificatiemodellen:
Wat is gebalanceerde nauwkeurigheid?
Wat wordt beschouwd als een ‚goede‘ F1-score?