AI 101
Wat is een Confusion Matrix?

Een van de krachtigste analytische tools in machine learning en data science is de confusion matrix. De confusion matrix is in staat om onderzoekers gedetailleerde informatie te geven over hoe een machine learning-classificator heeft gepresteerd met betrekking tot de doelklassen in de dataset. Een confusion matrix zal voorbeelden laten zien die correct zijn geclassificeerd tegenover voorbeelden die verkeerd zijn geclassificeerd. Laten we een dieper kijk nemen op hoe een confusion matrix is gestructureerd en hoe deze kan worden geïnterpreteerd.
Wat is een Confusion Matrix?
Laten we beginnen met een eenvoudige definitie van een confusion matrix. Een confusion matrix is een predictieve analytics-tool. Specifiek is het een tabel die werkelijke waarden weergeeft en vergelijkt met de voorspelde waarden van het model. Binnen de context van machine learning wordt een confusion matrix gebruikt als een metriek om te analyseren hoe een machine learning-classificator heeft gepresteerd op een dataset. Een confusion matrix genereert een visualisatie van metrieken zoals precisie, nauwkeurigheid, specificiteit en recall.
De reden waarom de confusion matrix bijzonder nuttig is, is dat, in tegenstelling tot andere soorten classificatiemetrieken zoals eenvoudige nauwkeurigheid, de confusion matrix een completer beeld geeft van hoe een model heeft gepresteerd. Alleen het gebruik van een metriek zoals nauwkeurigheid kan leiden tot een situatie waarin het model een klasse volledig en consistent verkeerd identificeert, maar dit gaat onopgemerkt omdat de gemiddelde prestatie goed is. Ondertussen geeft de confusion matrix een vergelijking van verschillende waarden zoals False Negatives, True Negatives, False Positives en True Positives.

Laten we de verschillende metrieken definiëren die een confusion matrix vertegenwoordigt.
Recall in een Confusion Matrix
Recall is het aantal echt positieve voorbeelden gedeeld door het aantal false-negatieve voorbeelden en totale positieve voorbeelden. Met andere woorden, recall is representatief voor het percentage van de echte positieve voorbeelden die een machine learning-model heeft geclassificeerd. Recall wordt gegeven als het percentage van de positieve voorbeelden dat het model kon classificeren uit alle positieve voorbeelden in de dataset. Deze waarde kan ook worden aangeduid als de “hit rate”, en een verwante waarde is “gevoeligheid”, die de waarschijnlijkheid van recall beschrijft, of de snelheid van echte positieve voorspellingen.
Precisie in een Confusion Matrix
Net als recall, is precisie een waarde die de prestatie van een model volgt in termen van positieve voorbeeldclassificatie. In tegenstelling tot recall, is precisie echter bezorgd over hoeveel van de voorbeelden die het model als positief heeft gelabeld, echt positief waren. Om dit te berekenen, worden het aantal echte positieve voorbeelden gedeeld door het aantal false-positieve voorbeelden plus de echte positieve voorbeelden.
Om het onderscheid tussen recall en precisie duidelijker te maken, probeert precisie te bepalen welk percentage van alle voorbeelden die als positief zijn gelabeld, echt positief waren, terwijl recall het percentage van alle echte positieve voorbeelden volgt die het model kon herkennen.
Specificiteit in een Confusion Matrix
Terwijl recall en precisie waarden zijn die positieve voorbeelden en de echte positieve snelheid volgen, kwantificeert specificiteit de echte negatieve snelheid of het aantal voorbeelden dat het model als negatief heeft gedefinieerd dat echt negatief waren. Dit wordt berekend door het aantal voorbeelden dat als negatief is geclassificeerd te delen door het aantal false-positieve voorbeelden in combinatie met de echte negatieve voorbeelden.
De Confusion Matrix Begrijpen

Photo: Jackverr via Wikimedia Commons, (https://commons.wikimedia.org/wiki/File:ConfusionMatrix.png), CC BY SA 3.0
Voorbeeld van een Confusion Matrix
Na het definiëren van noodzakelijke termen zoals precisie, recall, gevoeligheid en specificiteit, kunnen we onderzoeken hoe deze verschillende waarden worden weergegeven in een confusion matrix. Een confusion matrix wordt gegenereerd in gevallen van classificatie, toegepast wanneer er twee of meer klassen zijn. De gegenereerde confusion matrix kan zo groot en breed zijn als nodig is, met elk gewenst aantal klassen, maar voor de doeleinden van eenvoud zullen we een 2 x 2 confusion matrix onderzoeken voor een binaire classificatie taak.
Als voorbeeld, veronderstel dat een classificator wordt gebruikt om te bepalen of een patiënt een ziekte heeft of niet. De functies worden in de classificator ingevoerd en de classificator retourneert een van de twee verschillende classificaties – of de patiënt heeft de ziekte niet of wel.
Laten we beginnen met de linkerkant van de matrix. De linkerkant van de confusion matrix vertegenwoordigt de voorspellingen die de classificator heeft gedaan voor de individuele klassen. Een binaire classificatie taak heeft twee rijen hier. Met betrekking tot het bovenste gedeelte van de matrix, volgt het de echte waarden, de werkelijke klasse labels, van de data-exemplaren.
Het interpreteren van een confusion matrix kan worden gedaan door te kijken waar de rijen en kolommen elkaar kruisen. Controleer de voorspellingen van het model tegen de echte labels van het model. In dit geval bevindt de True Positives-waarde, het aantal correcte positieve voorspellingen, zich in de linkerbovenhoek. De false positives worden gevonden in de rechterbovenhoek, waar de voorbeelden echt negatief zijn maar de classificator ze als positief heeft gelabeld.
De onderste linkerkant van het rooster toont voorbeelden die de classificator als negatief heeft gelabeld maar echt positief waren. Ten slotte bevindt de True Negative-waarde zich in de rechteronderhoek van de confusion matrix, of waar de echt valse voorbeelden zijn.
Wanneer de dataset meer dan twee klassen bevat, groeit de matrix met dat aantal klassen. Als er bijvoorbeeld drie klassen zijn, is de matrix een 3 x 3 matrix. Ongeacht de grootte van de confusion matrix, is de methode voor het interpreteren ervan exact hetzelfde. De linkerkant bevat de voorspelde waarden en de echte klasse labels lopen over de bovenkant. De voorbeelden die de classificator correct heeft voorspeld, lopen diagonaal van de linkerbovenhoek naar de rechteronderhoek. Door naar de matrix te kijken, kunt u de vier predictieve metrieken hierboven onderscheiden.
U kunt bijvoorbeeld recall berekenen door de echte positieve en false-negatieve voorbeelden bij elkaar op te tellen en te delen door het aantal echte positieve voorbeelden. Ondertussen kan precisie worden berekend door de false-positieve voorbeelden te combineren met de echte positieve voorbeelden en vervolgens de waarde te delen door het totale aantal echte positieve voorbeelden.
Terwijl men tijd kan besteden aan het handmatig berekenen van metrieken zoals precisie, recall en specificiteit, zijn deze metrieken zo algemeen gebruikt dat de meeste machine learning-bibliotheken methoden hebben om ze weer te geven. Bijvoorbeeld, Scikit-learn voor Python heeft een functie die een confusion matrix genereert.












