Verwaringsmatrix in machine learning: uw one-stop-oplossing



Dit artikel richt zich op Confusion Matrix, een van de belangrijkste aspecten van elk Machine Learning-algoritme dat wordt gebruikt om de nauwkeurigheid ervan te evalueren.

In , we hebben meestal 2 verschillende soorten gebruiksscenario's, , en probleem. Confusion Matrix helpt bij het berekenen van de nauwkeurigheid van het classificatiemodel, wat ons indirect helpt om de prestaties van het classificatiemodel te beschrijven. Het is de belangrijkste stap als het gaat om het evalueren van een model. Ik behandel de volgende onderwerpen in dit artikel:

1. Wat is een verwarringmatrix?





2. Nauwkeurigheid en componenten van verwarringmatrix

3. Precisie, terugroepen en F-maat



wat is methode verbergen in java

4. Een verwarringmatrix maken door Python en Sklearn te gebruiken

Wat is een verwarringmatrix?

Een verwarringmatrix is ​​de vergelijkende samenvatting van de voorspelde resultaten en de daadwerkelijke resultaten in elk gebruiksscenario van classificatieproblemen. De vergelijkingssamenvatting is uiterst noodzakelijk om de prestaties van het model te bepalen nadat het met enkele trainingsgegevens is getraind. Accuracy-Confusion-MatrixVoor een use-case met binaire classificatie is een verwarringmatrix een 2 × 2-matrix zoals hieronder wordt weergegeven
Voorspelde Klasse 1-waarde EG: 1 Voorspelde Klasse 2-waarde EG: 0
Werkelijke Klasse 1-waarde

EG: 1

TP (True Positive) FN (fout-negatief)
Werkelijke Klasse 2-waarde



EG: 0

FP (vals positief) TN (True Negative)

Van de bovenstaande afbeelding:
Wij hebben,

  • Werkelijke Klasse 1-waarde = 1 die vergelijkbaar is met Positieve waarde in een binaire uitkomst.
  • Werkelijke Klasse 2-waarde = 0, wat vergelijkbaar is met een negatieve waarde in binaire uitkomst.

De linker index van de verwarringmatrix geeft in feite de werkelijke waarden aan en de bovenste kolom geeft de voorspelde waarden aan.

Er zijn verschillende componenten die bestaan ​​wanneer we een verwarringmatrix creëren. De componenten worden hieronder genoemd

Positief (P): Het voorspelde resultaat is positief (voorbeeld: afbeelding is een kat)

Negatief (N): het voorspelde resultaat is negatief (voorbeeld: afbeeldingen is geen kat)

Echt positief (TP): Hier geeft TP in feite de voorspelde waarden aan en de werkelijke waarden zijn 1 (waar)

Echt negatief (TN): Hier geeft TN de voorspelde waarde aan en de werkelijke waarde is 0 (False)

Fout-negatief (FN): Hier geeft FN aan dat de voorspelde waarde 0 (negatief) is en de werkelijke waarde 1. Hier komen beide waarden niet overeen. Daarom is het vals negatief.

Vals positief (FP): Hier geeft FP aan dat de voorspelde waarde 1 (positief) is en de werkelijke waarde 0 is. Ook hier komen beide waarden niet overeen. Daarom is het vals positief.

Nauwkeurigheid en componenten van verwarringmatrix

Nadat de verwarringmatrix is ​​gemaakt en we alle componentenwaarden hebben bepaald, wordt het voor ons vrij eenvoudig om de nauwkeurigheid te berekenen. Dus laten we de componenten eens bekijken om dit beter te begrijpen.
  • Classificatienauwkeurigheid

Uit de bovenstaande formule zijn de som van TP (True Positive) en de TN (True Negative) de juiste voorspelde resultaten. Daarom delen we met alle andere componenten om de nauwkeurigheid in procenten te berekenen. Er zijn echter enkele problemen met de nauwkeurigheid en we kunnen er niet volledig op vertrouwen.

Laten we bedenken dat onze dataset volledig uit balans is. In dit scenario kan een nauwkeurigheid van 98% goed of slecht zijn op basis van de probleemstelling. Daarom hebben we nog enkele belangrijke termen die ons zullen helpen zeker te zijn van de nauwkeurigheid die we berekenen. De voorwaarden zijn zoals hieronder weergegeven:

  • TPR (True Positive Rate) of gevoeligheid:

Het percentage waar-positief, ook wel bekend als gevoeligheid, meet het percentage van het ware positieve ten opzichte van het totale aantal werkelijke positieven dat wordt aangegeven door (TP + FN)

Voorspelde Klasse 1-waarde EG: 1 Voorspelde Klasse 2-waarde EG: 0 Totaal
Werkelijke Klasse 1-waarde

sorteermatrix c ++ oplopend

EG: 1

TP (True Positive) FN (fout-negatief) Totaal aantal werkelijke positieven
Werkelijke Klasse 2-waarde

EG: 0

FP (vals positief)TN (True Negative)Totaal aantal werkelijke negatieven
TPR = True Positive / (True Positive + False Negative
  • TNR (True Negative Rate) of specificiteit:

True Negative Rate of Specificity meet het aandeel van de werkelijke negatieven ten opzichte van het totale aantal negatieven

Voorspelde Klasse 1-waarde EG: 1 Voorspelde Klasse 2-waarde EG: 0 Totaal
Werkelijke Klasse 1-waarde

EG: 1

TP (True Positive)FN (fout-negatief)Totaal aantal werkelijke positieven
Werkelijke Klasse 2-waarde

EG: 0

FP (vals positief) TN (True Negative) Totaal aantal werkelijke negatieven

TNR = True Negative / (True Negative + False Positive)

  • Fout-positief percentage (FPR):

Percentage fout-positief is het percentage van voorspelde fout-positieve resultaten (FP + FP) ten opzichte van het totale aantal voorspelde positieve resultaten (TP + FP).

Voorspelde Klasse 1-waarde EG: 1 Voorspelde Klasse 2-waarde EG: 0
Werkelijke Klasse 1 Waarde EG: 1 TP (True Positive) FN (fout-negatief)
Werkelijke Klasse 2 Waarde EG: 0 FP (vals positief) TN (True Negative)
Som van totaal voorspeld positief Som van totaal voorspeld negatief
FPR = False Positive / (True Positive + False Positive)
  • Fout-negatief tarief (FNR):

Percentage fout-negatief is het percentage voorspelde fout-negatieve (FP) ten opzichte van het totale aantal voorspelde negatieve resultaten (TN + FN).

Voorspelde Klasse 1-waarde EG: 1 Voorspelde Klasse 2-waarde EG: 0
Werkelijke Klasse 1 Waarde EG: 1TP (True Positive) FN (fout-negatief)
Werkelijke Klasse 2 Waarde EG: 0FP (vals positief) TN (True Negative)
Som van totaal voorspeld positief Som van totaal voorspeld negatief
FNR = False Negative / (False Negative + True Negative)

Precisie, terugroepen en F-maat

  • Terugroepen:

Een terugroepactie is vergelijkbaar met de True Positive Rate en het is de verhouding tussen het totale aantal correct voorspelde positieve waarden (TP) en alle positieve waarden.

  • Precisie:

De precisie geeft in feite alle punten aan waarvan het model voorspelde dat ze positief waren en welk percentage daarvan daadwerkelijk positief is.

Precisie en terugroepen zijn meetresultaten die zich richten op de positieve klasse, zoals blijkt uit de bovenstaande formules.

  • F-maat

F-Measure is dus een techniek die zowel de Precision- als de Recall-techniek combineert en die Harmonic Mean gebruikt in plaats van het gebruikelijke rekenkundige gemiddelde, waardoor de extreme waarden worden bestraft. De F-maat wordt ook wel F1-score genoemd en wordt gegeven door de onderstaande formule.

Laten we een voorbeeld bekijken en kijken hoe we de nauwkeurigheid, precisie, terugroepactie en de F1-score kunnen berekenen.

N = 165 Voorspeld JA Voorspelde NEE
Werkelijk JA TP = 150 FN = 10
Huidige NO FP = 20 TN = 100
    • Nauwkeurigheid = (TP + TN) / (TP + TN + FP + FN) = (150 + 100) / (150 + 100 + 20 + 10) = 0,89
    • Recall = TP / (TP + FN) = 150 / (150 + 10) = 0.93
    • Precisie: TP / (TP + FP) = 150 / (150 + 20) = 0,88

  • F-maat = (2 * Recall * Precision) / (Recall + Presision) = (2 * 0,93 * 0,88) / (0,93 + 0,88) = 0,90

Een verwarringmatrix maken door Python en Sklearn te gebruiken

Nu zullen we een voorbeeld zien van hoe we een verwarringmatrix kunnen maken door python samen met de sklearn-bibliotheek te gebruiken.

een. In eerste instantie zullen we een lijst maken met de werkelijke gegevens en de voorspelde gegevens om de nauwkeurigheid te controleren, zoals hieronder wordt weergegeven

# Python-script voor het maken van verwarringmatrixen. actual_data = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] predicted_data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1]

2. We moeten de verwarringmatrix uit de sklearn-bibliotheek importeren, zoals hieronder wordt weergegeven:

van sklearn.metrics importeer confusion_matrix

3. Vervolgens maken we de verwarringmatrix zoals hieronder weergegeven:

final_results = confusion_matrix (actuele_gegevens, voorspelde_gegevens)

Vier. Nu kunnen we doorgaan en de nauwkeurigheid berekenen door de bibliotheek te importeren zoals hieronder weergegeven:

wat is datavisualisatie in tableau
van sklearn.metrics import nauwkeurigheid_score nauwkeurigheid = nauwkeurigheid_score (actual_data, voorspelde_data)

5. Ten slotte berekenen we de F1-score of F-maat zoals hieronder weergegeven:

van sklearn.metrics import classificatie_rapport rapport = classificatie_rapport (actuele_gegevens, voorspelde_gegevens)

Hieronder staat de volledige code:

actual_data = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] predicted_data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1] van sklearn.metrics import confusion_matrix final_results = confusion_matrix (actual_data, predicted_data) print (final_results) van sklearn.metrics import accuratesse_score accuratesse = accuratesse (actuele_data, predicted_data) uit sklearn.metrics import classificatierapport rapport = classificatie_rapport ( actual_data, predicted_data) print (nauwkeurigheid) print (rapport)

matrix

Hiermee komen we aan het einde van dit artikel. Ik hoop dat al uw verwarring over de verwarringmatrix nu is opgelost.

Edureka's helpt u bij het verwerven van expertise in verschillende algoritmen voor machine learning, zoals regressie, clustering, beslissingsbomen, willekeurig bos, Naïve Bayes en Q-Learning. Deze Machine Learning met behulp van Python Training stelt je bloot aan concepten van Statistieken, Tijdreeksen en verschillende klassen van algoritmen voor machine learning, zoals algoritmen onder toezicht, zonder toezicht en versterkingsalgoritmen. Tijdens de cursus Data Science-certificering lost u praktijkvoorbeelden op over media, gezondheidszorg, sociale media, luchtvaart en HR.