Het classificatieproces helpt bij het categoriseren van de dataset in verschillende klassen. Een machine learning model stelt u in staat om:
– Het probleem te kaderen,
– De gegevens te verzamelen,
– De variabelen toevoegen,
– Het model trainen,
– De prestaties te meten,
– Verbeteren van het model met behulp van de kostenfunctie.
Maar hoe kunnen we de prestatie van een model meten? Door het voorspelde en het werkelijke model te vergelijken? Dit zal echter het classificatieprobleem niet oplossen. Een verwarringsmatrix kan u helpen om de gegevens te analyseren en het probleem op te lossen. Laten we eens begrijpen hoe deze techniek het model voor machinaal leren helpt.

Verwarringsmatrix

De confusion matric techniek helpt bij het meten van de prestaties voor machine learning classificatie. Met dit type model kunt u het model onderscheiden en classificeren met de bekende werkelijke waarden op de set testgegevens. De term verwarringsmatrix is rechttoe rechtaan maar verwarrend. Dit artikel zal het concept vereenvoudigen, zodat u het gemakkelijk kunt begrijpen en zelf een verwarringsmatrix kunt maken.

De verwarringsmatrix berekenen

Volg deze eenvoudige stappen om de verwarringsmatrix voor datamining te berekenen:

Stap 1

Maak een schatting van de uitkomstwaarden van de dataset.

Stap 2

Test de dataset met behulp van de verwachte output.

Stap 3

Voorspel de rijen in uw test dataset.

Stap 4

Bereken de verwachte uitkomsten en voorspellingen. Je moet rekening houden met de:
– Totaal aantal correcte voorspellingen van de klasse
– Totaal aantal onjuiste voorspellingen van de klas
Na het uitvoeren van deze stappen, moet je de getallen ordenen in de onderstaande methodes:
– Verbind elke rij van de matrix met de voorspelde klasse
– Verbind elke kolom van de matrix met de werkelijke klasse
– Neem de juiste en onjuiste classificatie van het model op in de tabel
– Neem het totaal van de juiste voorspellingen op in de kolom voorspeld. Voeg ook de waarde van de klasse toe in de verwachte rij.
– Voeg het totaal van de incorrecte voorspellingen toe in de verwachte rij en de klasse-waarde in de voorspelde kolom.

De uitkomst in een verwarringsmatrix begrijpen

1. Waar Positief

De werkelijke en voorspelde waarden zijn gelijk. De voorspelde waarde van het model is positief, samen met een werkelijke positieve waarde.

2. Waar negatief

De werkelijke en voorspelde waarden zijn gelijk. De voorspelde waarde van het model is negatief, samen met een werkelijke negatieve waarde.

3. Vals-positief (type 1-fout)

De werkelijke en de voorspelde waarde zijn niet dezelfde. De voorspelde waarde van het model is positief en vals voorspeld. De werkelijke waarde is echter negatief. U kunt dit een Type 1-fout noemen.

4. Vals negatief (type 2-fout)

De werkelijke en de voorspelde waarde zijn niet gelijk. De voorspelde waarde van het model is negatief en vals voorspeld. De werkelijke waarde is echter positief. U kunt deze fout een Type 2-fout noemen.

Het belang van de verwarringsmatrix

Alvorens de vraag te beantwoorden, moeten we het hypothetische classificatieprobleem begrijpen. Stel dat u een voorspelling doet van het aantal mensen dat met het virus is besmet voordat de symptomen optreden. Op die manier kunt u hen gemakkelijk isoleren en zorgen voor een gezonde bevolking. We kunnen twee variabelen kiezen om de doelpopulatie te definiëren: Geïnfecteerden en niet geïnfecteerden.
Nu zult u misschien denken, waarom een verwarringsmatrix gebruiken als de variabelen te eenvoudig zijn. Welnu, deze techniek helpt bij de nauwkeurigheid van de classificatie. De gegevens in dit voorbeeld zijn de onevenwichtige dataset. Laten we aannemen dat we 947 negatieve datapunten hebben en drie positieve datapunten. Nu zullen we de nauwkeurigheid berekenen met deze formule:

Met behulp van de volgende tabel kunt u de nauwkeurigheid controleren:

De totale uitgangswaarden zullen zijn:
TP = 30, TN = 930, FP = 30, FN = 10
Dus je kunt de nauwkeurigheid van het model berekenen als:

96% nauwkeurigheid voor een model is ongelooflijk. Maar uit de uitkomst kun je alleen maar een verkeerd idee krijgen. Volgens dit model kun je de besmette mensen 96% van de tijd voorspellen. De berekening voorspelt echter dat 96% van de bevolking niet besmet zal raken. Zieke mensen verspreiden het virus echter nog steeds.
Lijkt dit model een perfecte oplossing voor het probleem, of moeten wij de positieve gevallen meten en hen isoleren om de verspreiding van het virus te stoppen. Daarom gebruiken wij een verwarringsmatrix om dit soort problemen op te lossen. Hier volgen enkele voordelen van de verwarringsmatrix:
– De matrix helpt bij de classificatie van het model tijdens het maken van de voorspellingen
– Deze techniek geeft het type en het inzicht van de fouten aan, zodat u de zaak gemakkelijk kunt begrijpen
– U kunt de beperking overwinnen met de nauwkeurige classificatie van de gegevens
– De kolommen van de verwarringsmatrix vertegenwoordigen de instanties van de voorspelde klasse
– Elke rij geeft de instanties van de werkelijke klasse aan
– De verwarringsmatrix geeft de fouten aan die de classificator

Verwarringsmatrix in Python

Nu je het concept van de verwarringsmatrix kent, kan je de volgende code in Python oefenen met behulp van de Scikit-learn bibliotheek.
# verwarringsmatrix in sklearn
fromsklearn.metricsimportconfusion_matrix
fromsklearn.metricsimportclassification_report

# werkelijke waarden
actual = [1,0,0,1,0,0,1,0,0,1]
# voorspelde waarden
voorspeld = [1,0,0,1,0,0,0,1,0,0]

# verwarringsmatrix
matrix =confusion_matrix(actual,predicted, labels=[1,0])
print(‘Verwarringsmatrix : \n’,matrix)

# volgorde van uitkomstwaarden in sklearn
tp, fn, fp, tn=confusion_matrix(actual,predicted,labels=[1,0]).reshape(-1)
print(‘Uitkomstwaarden : \n’, tp, fn, fp, tn)

# classificatierapport voor precisie, recall f1-score en nauwkeurigheid
matrix =classificatie_rapport(werkelijk,voorspeld,labels=[1,0])
print(‘Classificatierapport : \n’,matrix)

Conclusie

De verwarringsmatrix helpt bij de beperking van de nauwkeurigheid van de classificatiemethode. Het belicht ook belangrijke details over verschillende klassen. Bovendien analyseert hij de variabelen en de gegevens, zodat u de werkelijke gegevens kunt vergelijken met de voorspelling.