Verwirrungsmatrix beim maschinellen Lernen: Ihre One-Stop-Lösung



Dieser Artikel konzentriert sich auf die Verwirrungsmatrix, die einer der wichtigsten Aspekte jedes maschinellen Lernalgorithmus ist, der zur Bewertung seiner Genauigkeit verwendet wird.

Im Wir haben normalerweise 2 verschiedene Arten von Anwendungsfällen. , und Problem. Die Verwirrungsmatrix hilft bei der Berechnung der Genauigkeit des Klassifizierungsmodells, wodurch wir indirekt die Leistung des Klassifizierungsmodells beschreiben können. Dies ist der wichtigste Schritt bei der Bewertung eines Modells. In diesem Artikel werde ich die folgenden Themen behandeln:

1. Was ist eine Verwirrungsmatrix?





2. Genauigkeit und Komponenten der Verwirrungsmatrix

3. Präzision, Rückruf und F-Messung



4. Erstellen einer Verwirrungsmatrix mit Python und Sklearn

Was ist eine Verwirrungsmatrix?

Eine Verwirrungsmatrix ist die Vergleichszusammenfassung der vorhergesagten Ergebnisse und der tatsächlichen Ergebnisse in jedem Anwendungsfall eines Klassifizierungsproblems. Die Vergleichszusammenfassung ist äußerst wichtig, um die Leistung des Modells zu bestimmen, nachdem es mit einigen Trainingsdaten trainiert wurde. Accuracy-Confusion-MatrixFür einen Anwendungsfall der binären Klassifizierung ist eine Verwirrungsmatrix eine 2 × 2-Matrix, wie unten gezeigt
Voraussichtlicher Wert der Klasse 1 EG: 1 Voraussichtlicher Wert der Klasse 2 EG: 0
Tatsächlicher Wert der Klasse 1

EG: 1

TP (True Positive) FN (falsch negativ)
Tatsächlicher Wert der Klasse 2



EG: 0

FP (falsch positiv) TN (True Negative)

Aus der obigen Abbildung:
Wir haben,

  • Tatsächlicher Wert der Klasse 1 = 1, ähnlich dem positiven Wert in einem binären Ergebnis.
  • Tatsächlicher Wert der Klasse 2 = 0, ähnlich einem negativen Wert im binären Ergebnis.

Der linke Index der Verwirrungsmatrix gibt im Wesentlichen die tatsächlichen Werte an, und die obere Spalte gibt die vorhergesagten Werte an.

Es gibt verschiedene Komponenten, die existieren, wenn wir eine Verwirrungsmatrix erstellen. Die Komponenten sind unten aufgeführt

Positiv (P): Das vorhergesagte Ergebnis ist positiv (Beispiel: Bild ist eine Katze)

Negativ (N): Das vorhergesagte Ergebnis ist negativ (Beispiel: Bilder sind keine Katze)

True Positive (TP): Hier gibt TP im Wesentlichen die vorhergesagten an und die tatsächlichen Werte sind 1 (wahr)

True Negative (TN): Hier gibt TN den vorhergesagten an und der tatsächliche Wert ist 0 (False)

Falsch negativ (FN): Hier gibt FN an, dass der vorhergesagte Wert 0 (negativ) und der tatsächliche Wert 1 ist. Hier stimmen beide Werte nicht überein. Daher ist es falsch negativ.

False Positive (FP): Hier zeigt FP an, dass der vorhergesagte Wert 1 (positiv) und der tatsächliche Wert 0 ist. Auch hier stimmen beide Werte nicht überein. Daher ist es falsch positiv.

Genauigkeit und Komponenten der Verwirrungsmatrix

Nachdem die Verwirrungsmatrix erstellt wurde und wir alle Komponentenwerte ermittelt haben, ist es für uns recht einfach, die Genauigkeit zu berechnen. Schauen wir uns also die Komponenten an, um dies besser zu verstehen.
  • Klassifizierungsgenauigkeit

Aus der obigen Formel ergibt sich aus der Summe von TP (True Positive) und TN (True Negative) die korrekte Vorhersage. Um die Genauigkeit in Prozent zu berechnen, teilen wir daher mit allen anderen Komponenten. Es gibt jedoch einige Probleme bei der Genauigkeit und wir können uns nicht vollständig darauf verlassen.

Nehmen wir an, unser Datensatz ist völlig unausgewogen. In diesem Szenario kann eine Genauigkeit von 98% basierend auf der Problemstellung gut oder schlecht sein. Daher haben wir einige weitere Schlüsselbegriffe, die uns helfen, sicher zu sein, welche Genauigkeit wir berechnen. Die Bedingungen sind wie folgt:

  • TPR (True Positive Rate) oder Empfindlichkeit:

Die True Positive Rate, die auch als Sensitivity bezeichnet wird, misst den Prozentsatz des True Positive in Bezug auf die Gesamtzahl der tatsächlichen Positiven, der durch (TP + FN) angegeben wird.

wie man zwei Zeichenfolgen vergleicht
Voraussichtlicher Wert der Klasse 1 EG: 1 Voraussichtlicher Wert der Klasse 2 EG: 0 Gesamt
Tatsächlicher Wert der Klasse 1

EG: 1

TP (True Positive) FN (falsch negativ) Tatsächliche positive Ergebnisse
Tatsächlicher Wert der Klasse 2

EG: 0

FP (falsch positiv)TN (True Negative)Tatsächliche Negative insgesamt
TPR = True Positive / (True Positive + False Negative
  • TNR (True Negative Rate) oder Spezifität:

Die True Negative Rate oder Spezifität misst den Anteil der tatsächlichen Negative an den Total Negatives

Voraussichtlicher Wert der Klasse 1 EG: 1 Voraussichtlicher Wert der Klasse 2 EG: 0 Gesamt
Tatsächlicher Wert der Klasse 1

EG: 1

TP (True Positive)FN (falsch negativ)Tatsächliche positive Ergebnisse
Tatsächlicher Wert der Klasse 2

EG: 0

FP (falsch positiv) TN (True Negative) Tatsächliche Negative insgesamt

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

  • False Positive Rate (FPR):

Die False Positive Rate ist der Prozentsatz des vorhergesagten False Positive (FP) zur Gesamtzahl der vorhergesagten positiven Ergebnisse (TP + FP).

Voraussichtlicher Wert der Klasse 1 EG: 1 Voraussichtlicher Wert der Klasse 2 EG: 0
Tatsächlicher Wert der Klasse 1 EG: 1 TP (True Positive) FN (falsch negativ)
Tatsächlicher Wert der Klasse 2 EG: 0 FP (falsch positiv) TN (True Negative)
Summe der insgesamt prognostizierten positiven Ergebnisse Summe der insgesamt prognostizierten negativen Ergebnisse
FPR = False Positive / (True Positive + False Positive)
  • Falsch negative Rate (FNR):

Die False Negative Rate ist der Prozentsatz des vorhergesagten False Negative (FP) zur Gesamtzahl der vorhergesagten negativen Ergebnisse (TN + FN).

Voraussichtlicher Wert der Klasse 1 EG: 1 Voraussichtlicher Wert der Klasse 2 EG: 0
Tatsächlicher Wert der Klasse 1 EG: 1TP (True Positive) FN (falsch negativ)
Tatsächlicher Wert der Klasse 2 EG: 0FP (falsch positiv) TN (True Negative)
Summe der insgesamt prognostizierten positiven Ergebnisse Summe der insgesamt prognostizierten negativen Ergebnisse
FNR = Falsch Negativ / (Falsch Negativ + Richtig Negativ)

Präzision, Rückruf und F-Messung

  • Erinnern:

Ein Rückruf ähnelt der True Positive Rate und ist das Verhältnis der Gesamtzahl der korrekt vorhergesagten positiven Werte (TP) zu allen positiven Werten.

  • Präzision:

Die Präzision gibt im Wesentlichen alle Punkte an, die das Modell als positiv vorhergesagt hat, und wie viel Prozent davon tatsächlich positiv sind.

Präzision und Rückruf sind Metrikergebnisse, die sich auf die positive Klasse konzentrieren, wie aus den obigen Formeln hervorgeht.

  • F-Maßnahme

F-Measure ist also eine Technik, die sowohl die Präzisions- als auch die Rückruftechnik kombiniert und anstelle des üblichen arithmetischen Mittelwerts das harmonische Mittel verwendet, wodurch die Extremwerte bestraft werden. Das F-Maß wird auch als F1-Score bezeichnet und ist durch die folgende Formel gegeben.

Betrachten wir ein Beispiel und sehen wir, wie wir die Genauigkeit, Präzision, den Rückruf und den F1-Score berechnen können.

N = 165 Vorausgesagt JA Voraussichtliche NEIN
Tatsächlich JA TP = 150 FN = 10
Strom NR FP = 20 TN = 100
    • Genauigkeit = (TP + TN) / (TP + TN + FP + FN) = (150 + 100) / (150 + 100 + 20 + 10) = 0,89
    • Rückruf = TP / (TP + FN) = 150 / (150 + 10) = 0,93
    • Präzision: TP / (TP + FP) = 150 / (150 + 20) = 0,88

So erstellen Sie ein Array von Objekten in Java
  • F-Maßnahme = (2 * Rückruf * Präzision) / (Rückruf + Präzision) = (2 · 0,93 · 0,88) / (0,93 + 0,88) = 0,90

Erstellen einer Verwirrungsmatrix mit Python und Sklearn

Jetzt sehen wir ein Beispiel, wie wir mit Python zusammen mit der sklearn-Bibliothek eine Verwirrungsmatrix erstellen können.

ein. Zunächst erstellen wir eine Liste der tatsächlichen Daten und der vorhergesagten Daten, um die Genauigkeit wie unten gezeigt zu überprüfen

# Python-Skript zur Erstellung von Verwirrungsmatrizen. tatsächliche_Daten = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] vorhergesagte_Daten = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1]

2. Wir müssen die Verwirrungsmatrix wie unten gezeigt aus der sklearn-Bibliothek importieren:

aus sklearn.metrics importiere confusion_matrix

3. Als nächstes erstellen wir die Verwirrungsmatrix wie folgt:

final_results = verwirrungsmatrix (tatsächliche_Daten, vorhergesagte_Daten)

Vier. Jetzt können wir die Genauigkeit berechnen, indem wir die Bibliothek wie unten gezeigt importieren:

aus sklearn.metrics importiere Genauigkeit_score Genauigkeit = Genauigkeit_Wert (tatsächliche_Daten, vorhergesagte_Daten)

5. Schließlich berechnen wir den F1-Score oder das F-Maß wie unten gezeigt:

aus sklearn.metrics importieren Klassifizierungsbericht report = Klassifizierungsbericht (tatsächliche_Daten, vorhergesagte_Daten)

Unten ist der vollständige Code:

tatsächliche_Daten = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] vorhergesagte_Daten = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1] aus sklearn.metrics importiere verwirrungsmatrix final_results = verwirrungsmatrix (aktuelle_Daten, vorhergesagte_Daten) print (final_results) aus sklearn.metrics importiere Genauigkeit_score Genauigkeit = Genauigkeit_score (aktuelle_Daten, vorhergesagte_Daten) aus sklearn.metrics importiere Klassifizierungsbericht / Klassifizierungsbericht ( tatsächliche_Daten, vorhergesagte_Daten) Drucken (Genauigkeit) Drucken (Bericht)

matrix

Damit sind wir am Ende dieses Artikels angelangt. Ich hoffe, all Ihre Verwirrung über die Verwirrungsmatrix ist jetzt gelöst.

Edurekas hilft Ihnen dabei, Kenntnisse in verschiedenen Algorithmen für maschinelles Lernen wie Regression, Clustering, Entscheidungsbäume, Random Forest, Naive Bayes und Q-Learning zu erlangen. Dieses maschinelle Lernen mit Python-Training macht Sie mit Konzepten der Statistik, Zeitreihen und verschiedenen Klassen von Algorithmen für maschinelles Lernen wie überwachten, unbeaufsichtigten und Verstärkungsalgorithmen vertraut. Während des Data Science-Zertifizierungskurses lösen Sie Fallstudien aus den Bereichen Medien, Gesundheitswesen, soziale Medien, Luftfahrt und Personalwesen.