Wat is een verwarringsmatrix in machine learning?

Een verwarringsmatrix is ​​een hulpmiddel om de prestaties van het classificatietype van gesuperviseerde machine learning-algoritmen te evalueren.

Wat is een verwarringsmatrix?

Wij mensen nemen dingen anders waar – zelfs waarheid en leugens. Wat voor mij een lijn van 10 cm lijkt, kan voor jou een lijn van 9 cm lijken. Maar de werkelijke waarde kan 9, 10 of iets anders zijn. Wat we raden is de voorspelde waarde!

Hoe het menselijk brein denkt

Net zoals ons brein onze eigen logica toepast om iets te voorspellen, passen machines verschillende algoritmen toe (machine learning-algoritmen genoemd) om tot een voorspelde waarde voor een vraag te komen. Nogmaals, deze waarden kunnen hetzelfde zijn of verschillen van de werkelijke waarde.

In een competitieve wereld willen we graag weten of onze voorspelling klopt of niet om onze prestaties te begrijpen. Op dezelfde manier kunnen we de prestaties van een machine learning-algoritme bepalen door het aantal voorspellingen dat het correct heeft gedaan.

Dus, wat is een machine learning-algoritme?

Machines proberen tot bepaalde antwoorden op een probleem te komen door bepaalde logica of een reeks instructies toe te passen, machine learning-algoritmen genoemd. Er zijn drie soorten algoritmen voor machine learning: onder toezicht, zonder toezicht of versterking.

Typen machine learning-algoritmen

De eenvoudigste soorten algoritmen staan ​​onder toezicht, waar we het antwoord al weten, en we trainen de machines om tot dat antwoord te komen door het algoritme te trainen met veel gegevens – hetzelfde als hoe een kind onderscheid zou maken tussen mensen van verschillende leeftijdsgroepen door keer op keer naar hun kenmerken kijken.

Supervised ML-algoritmen zijn van twee soorten: classificatie en regressie.

Classificatie-algoritmen classificeren of sorteren gegevens op basis van een aantal criteria. Als u bijvoorbeeld wilt dat uw algoritme klanten groepeert op basis van hun voedselvoorkeuren – degenen die van pizza houden en degenen die niet van pizza houden, zou u een classificatie-algoritme gebruiken zoals beslisboom, willekeurig bos, naïeve Bayes of SVM (Support Vectormachine).

Welke van deze algoritmen zou het beste werk doen? Waarom zou u het ene algoritme boven het andere kiezen?

Voer verwarringsmatrix in….

Een verwarringsmatrix is ​​een matrix of tabel die informatie geeft over hoe nauwkeurig een classificatie-algoritme is bij het classificeren van een dataset. Nou, de naam is niet bedoeld om mensen in verwarring te brengen, maar te veel onjuiste voorspellingen betekenen waarschijnlijk dat het algoritme in de war was!

  Hoe door verborgen categorieën in Netflix te bladeren [Chrome]

Een verwarringsmatrix is ​​dus een methode om de prestaties van een classificatie-algoritme te evalueren.

Hoe?

Laten we zeggen dat je verschillende algoritmen hebt toegepast op ons eerder genoemde binaire probleem: classificeer (segregeer) mensen op basis van of ze wel of niet van pizza houden. Om het algoritme te evalueren dat waarden heeft die het dichtst bij het juiste antwoord liggen, zou u een verwarringsmatrix gebruiken. Voor een binair classificatieprobleem (zoals/niet leuk, waar/onwaar, 1/0), geeft de verwarringsmatrix vier rasterwaarden, namelijk:

  • Echt positief (TP)
  • Echt negatief (TN)
  • Vals-positief (FP)
  • Vals negatief (FN)

Wat zijn de vier rasters in een verwarringsmatrix?

De vier waarden bepaald met behulp van de verwarringsmatrix vormen de rasters van de matrix.

Verwarringsmatrixrasters

True Positive (TP) en True Negative (TN) zijn de waarden die correct worden voorspeld door het classificatie-algoritme,

  • TP vertegenwoordigt degenen die van pizza houden, en het model classificeerde ze correct,
  • TN vertegenwoordigt degenen die niet van pizza houden, en het model classificeerde ze correct,

False Positive (FP) en False Negative (FN) zijn de waarden die verkeerd worden voorspeld door de classifier,

  • FP vertegenwoordigt degenen die niet van pizza houden (negatief), maar de classifier voorspelde dat ze van pizza houden (ten onrechte positief). FP wordt ook wel een Type I-fout genoemd.
  • FN vertegenwoordigt degenen die van pizza houden (positief), maar de classifier voorspelde dat ze dat niet doen (ten onrechte negatief). FN wordt ook wel Type II-fout genoemd.

Laten we een realistisch scenario nemen om het concept beter te begrijpen.

Stel je hebt een dataset van 400 mensen die de Covid-test hebben ondergaan. Nu heb je de resultaten van verschillende algoritmen die het aantal Covid-positieve en Covid-negatieve mensen hebben bepaald.

Hier zijn de twee verwarringsmatrices ter vergelijking:

Door naar beide te kijken, zou je in de verleiding kunnen komen om te zeggen dat het eerste algoritme nauwkeuriger is. Maar om een ​​concreet resultaat te krijgen, hebben we enkele statistieken nodig die de nauwkeurigheid, precisie en vele andere waarden kunnen meten die bewijzen welk algoritme beter is.

Statistieken met behulp van verwarringsmatrix en hun betekenis

De belangrijkste statistieken die ons helpen beslissen of de classifier de juiste voorspellingen heeft gedaan, zijn:

#1. Terugroepen/Gevoeligheid

Recall of gevoeligheid of True Positive Rate (TPR) of detectiekans is de verhouding van de juiste positieve voorspellingen (TP) tot het totaal aan positieven (dwz TP en FN).

R = TP/(TP + FN)

Recall is de maatstaf voor correcte positieve resultaten die zijn geretourneerd uit het aantal correcte positieve resultaten dat had kunnen worden geproduceerd. Een hogere waarde van Recall betekent dat er minder valse negatieven zijn, wat goed is voor het algoritme. Gebruik Recall als het belangrijk is om de valse negatieven te kennen. Als een persoon bijvoorbeeld meerdere blokkades in het hart heeft en het model laat zien dat hij helemaal in orde is, kan het fataal zijn.

  Een SMS-bericht plannen om later te verzenden

#2. Precisie

Precisie is de maatstaf voor de juiste positieve resultaten van alle voorspelde positieve resultaten, inclusief zowel echte als valse positieven.

Pr = TP/(TP + FP)

Precisie is heel belangrijk wanneer de valse positieven te belangrijk zijn om genegeerd te worden. Bijvoorbeeld als iemand geen diabetes heeft, maar het model laat dat zien, en de arts schrijft bepaalde medicijnen voor. Dit kan leiden tot ernstige bijwerkingen.

#3. Specificiteit:

Specificiteit of True Negative Rate (TNR) is de juiste negatieve uitslag van alle resultaten die negatief hadden kunnen zijn.

S = TN/(TN + FP)

Het is een maatstaf voor hoe goed uw classifier de negatieve waarden identificeert.

#4. Nauwkeurigheid

Nauwkeurigheid is het aantal juiste voorspellingen van het totale aantal voorspellingen. Dus als u 20 positieve en 10 negatieve waarden correct hebt gevonden uit een steekproef van 50, is de nauwkeurigheid van uw model 30/50.

Nauwkeurigheid A = (TP + TN)/(TP + TN + FP + FN)

#5. prevalentie

Prevalentie is de maat voor het aantal positieve resultaten dat van alle resultaten is behaald.

P = (TP + FN)/(TP + TN + FP + FN)

#6. F-score

Soms is het moeilijk om twee classifiers (modellen) te vergelijken met alleen Precision en Recall, die slechts rekenkundige middelen zijn van een combinatie van de vier rasters. In dergelijke gevallen kunnen we de F-score of F1-score gebruiken, het harmonische gemiddelde – dat nauwkeuriger is omdat het niet te veel varieert voor extreem hoge waarden. Een hogere F-score (max. 1) duidt op een beter model.

F-score = 2*Precisie*Recall/ (Recall + Precision)

Wanneer het van vitaal belang is om voor zowel valse positieven als valse negatieven te zorgen, is de F1-score een goede maatstaf. Zo hoeven degenen die niet covid-positief zijn (maar het algoritme toonde dat wel) niet onnodig geïsoleerd te worden. Op dezelfde manier moeten degenen die Covid-positief zijn (maar het algoritme zei dat ze dat niet zijn) worden geïsoleerd.

#7. ROC-curven

Parameters zoals nauwkeurigheid en precisie zijn goede maatstaven als de gegevens in evenwicht zijn. Voor een onevenwichtige dataset betekent een hoge nauwkeurigheid niet noodzakelijkerwijs dat de classifier efficiënt is. Bijvoorbeeld, 90 van de 100 studenten in een batch kennen Spaans. Zelfs als je algoritme zegt dat alle 100 Spaans kennen, zal de nauwkeurigheid 90% zijn, wat een verkeerd beeld van het model kan geven. In het geval van onevenwichtige datasets zijn metrische gegevens zoals ROC effectievere determinanten.

  Fix 'git' wordt niet herkend als een intern of extern commando

Voorbeeld ROC-curve

De ROC-curve (Receiver Operating Characteristic) geeft visueel de prestaties weer van een binair classificatiemodel bij verschillende classificatiedrempels. Het is een grafiek van TPR (True Positive Rate) tegen FPR (False Positive Rate), die wordt berekend als (1-specificiteit) bij verschillende drempelwaarden. De waarde die in de grafiek het dichtst bij 45 graden (linksboven) ligt, is de meest nauwkeurige drempelwaarde. Als de drempel te hoog is, zullen we niet veel valse positieven hebben, maar meer valse negatieven en vice versa.

Over het algemeen wordt, wanneer de ROC-curve voor verschillende modellen wordt uitgezet, degene met de grootste Area Under the Curve (AUC) als het betere model beschouwd.

Laten we alle metrische waarden voor onze Classifier I en Classifier II verwarringsmatrices berekenen:

Metrische vergelijking voor classificaties 1 en 2 van de pizza-enquête

We zien dat de precisie hoger is in classifier II, terwijl de nauwkeurigheid iets hoger is in classifier I. Op basis van het probleem dat zich voordoet, kunnen besluitvormers Classifiers I of II selecteren.

N x N verwarringsmatrix

Tot nu toe hebben we een verwarringsmatrix gezien voor binaire classificaties. Wat als er meer categorieën waren dan alleen ja/nee of leuk/niet leuk. Als uw algoritme bijvoorbeeld afbeeldingen van rode, groene en blauwe kleuren zou sorteren. Dit type classificatie wordt classificatie met meerdere klassen genoemd. Het aantal outputvariabelen bepaalt ook de grootte van de matrix. Dus in dit geval is de verwarringsmatrix 3×3.

Verwarringsmatrix voor een classificatie met meerdere klassen

Overzicht

Een verwarringsmatrix is ​​een geweldig evaluatiesysteem omdat het gedetailleerde informatie geeft over de prestaties van een classificatie-algoritme. Het werkt goed voor zowel binaire classificaties als classificaties met meerdere klassen, waarbij er voor meer dan 2 parameters moet worden gezorgd. Het is gemakkelijk om een ​​verwarringsmatrix te visualiseren en we kunnen alle andere prestatiestatistieken zoals F-score, precisie, ROC en nauwkeurigheid genereren met behulp van de verwarringsmatrix.

U kunt ook kijken hoe u ML-algoritmen kiest voor regressieproblemen.

gerelateerde berichten