Entmystifizierung der Verwirrungsmatrix im maschinellen Lernen [Erstaunlich]

Veröffentlicht: 2020-12-07

Maschinelles Lernen ist ein Überbegriff, unter dem es Datenverarbeitung, Ableitung sinnvoller Erkenntnisse aus den Daten und Datenmodellierung zusammenfasst. Nachdem die Datenmodellierung abgeschlossen ist, muss das Modell für seine Leistungsbewertung und andere branchenbasierte Parameter gemessen werden, und eine der häufigsten Metriken ist die Confusion Matrix.

Inhaltsverzeichnis

Was ist die Confusion Matrix und warum wird sie verwendet?

Es ist eine Leistungsmetrik, die bei Klassifizierungsproblemen verwendet wird, bei denen die Ausgabeklassen zwei oder mehr sein können und diese Matrix alle Kombinationen von vorhergesagten Werten durch ein Modell mit tatsächlichen Werten darstellt, die dieser Eingabe zugeordnet sind. Es wird „Verwirrungsmatrix“ genannt, weil es einfach erscheint, sich an die Definitionen zu halten, aber wenn wir uns weiterentwickeln, um wertvollere Parameter abzuleiten, entsteht Verwirrung darüber, welcher Parameter an einer bestimmten Stelle am besten geeignet ist.

Es wird dort verwendet, wo das Klassifizierungsproblem sehr unausgewogen ist und eine Klasse über andere Klassen dominiert. In solchen Szenarien werden Sie vielleicht überrascht sein, dass die Genauigkeit des Modells bei 99 % liegt, aber in Wirklichkeit ist das Modell stark auf die dominante Klasse ausgerichtet. Es besteht nur eine sehr geringe Wahrscheinlichkeit, dass Sie Vorhersagen für Minderheitenklassen erhalten. Um einen solchen unausgeglichenen Datensatz zu testen, betrachten wir daher die Konfusionsmatrix.

Struktur der Verwirrungsmatrix

Die Größe der Matrix ist direkt proportional zur Anzahl der Ausgabeklassen. Es ist eine quadratische Matrix, bei der wir die Spaltenüberschriften als tatsächliche Werte und die Zeilenüberschriften als Modellvorhersagen annehmen. Die Werte, die wahr sind und vom Modell als wahr vorhergesagt werden, sind True Positives (TP) , korrekte Vorhersagen negativer Werte sind True Negatives (TN) , Werte, die negativ waren, aber als wahr vorhergesagt wurden, sind False Positives (FP) und positive Werte, die als negativ vorhergesagt wurden Falsche Negative (FN) . Schauen Sie sich dieses Bild an:

Lesen Sie: Arten von Klassifizierungsalgorithmen beim maschinellen Lernen

Was können wir daraus lernen?

Es stellt sich die berechtigte Frage, was wir mit dieser Matrix tun können. Darauf aufbauend gibt es einige wichtige Terminologien:

  1. Genauigkeit: Dies ist der Teil der Werte, die vom Modell als richtig identifiziert werden und für die Lösung der Problemstellung relevant sind. Wir können dies auch als Werte angeben, die ein Teil der gesamten positiven Ergebnisse des Modells sind und positiv sind. Daher können wir seine Formel als TP/ (TP + FP) angeben.
  2. Zur Erinnerung: Es ist der Anteil der Werte, die vom Modell korrekt als positiv identifiziert werden. Sie wird auch als True Positive Rate oder Sensitivity bezeichnet. Seine Formel lautet TP/ (TP+FN).
  3. F-1 Score: Es ist das harmonische Mittel von Precision und Recall. Das bedeutet, wenn wir zwei Modelle vergleichen, unterdrückt diese Metrik die Extremwerte und berücksichtigt gleichzeitig sowohl False Positives als auch False Negatives. Es kann als 2*Precision*Recall/ (Präzision+Recall) angegeben werden.
  4. Genauigkeit: Dies ist der Anteil der Werte, die korrekt identifiziert werden, unabhängig davon, ob sie positiv oder negativ sind. Dies bedeutet, dass alle Wahr-Positiven und Wahr-Negativen darin enthalten sind. Die Formel dafür lautet (TP+TN)/ (TP+TN+FP+FN).

Von allen Begriffen werden Precision und Recall am häufigsten verwendet. Ihr Kompromiss ist ein nützliches Maß für den Erfolg einer Vorhersage. Das gewünschte Modell soll eine hohe Präzision und einen hohen Wiedererkennungswert haben, aber dies nur in perfekt trennbaren Daten. In praktischen Anwendungsfällen sind die Daten sehr unorganisiert und unausgewogen.

Wie erstelle ich Code für Confusion Matrix in Python?

Die sklearn-Bibliothek bietet eine Vielzahl von Funktionalitäten, um alle Aufgaben des maschinellen Lernens mit höchster Genauigkeit auszuführen, und fast alles wurde hier implementiert. Betrachten Sie den berühmten Iris-Datensatz mit allen bereits erstellten Importaussagen, der Code für die Verwirrungsmatrix wäre:

iris = datasets.load_iris()

X = Iris.Daten

y = iris.ziel

Klassennamen = iris.Zielnamen

X_train, X_test, y_train, y_test = train_test_split (X, y, random_state = 0 )

classifier = svm.SVC (kernel = 'linear' , C = 0.01 ) . fit(X_Zug, y_Zug)

plot_confusion_matrix(classifier, X_test, y_test,display_labels = class_names,cmap = plt . cm . Blues)

Hinweis: Die dadurch zurückgegebene Matrix hat umgekehrte Seiten, hier auf der linken Seite haben wir tatsächliche Werte und oben haben wir vorhergesagte Werte. Wenn Sie Verwirrung vermeiden möchten, führen Sie diese Funktion aus, um eine detaillierte Zusammenfassung (Klassifizierungsbericht) zu erhalten, anstatt sie manuell zu berechnen:

print(classification_report(y_true=y_test, y_pred=y_pred, target_names=class_names))

Lesen Sie auch: Deep-Learning-Algorithmus

Welches verwenden und wo?

Dies ist die häufigste Frage, die beim Modellieren der Daten auftritt, und die Lösung liegt im Aussagebereich des Problems. Betrachten Sie diese beiden Fälle:

  1. Angenommen, Sie sagen voraus, ob die Person einen Herzstillstand erleiden wird. In diesem Szenario können Sie sich keine Fehlklassifizierung leisten, und alle getroffenen Vorhersagen sollten korrekt sein. Abgesehen davon sind die Kosten für False Negatives hoch, sodass die Person anfällig für Angriffe war, aber als sicher vorhergesagt wurde. Diese Fälle sollten vermieden werden. In diesen Situationen brauchen wir ein Modell mit hohem Wiedererkennungswert.
  2. Angenommen, eine Suchmaschine liefert zufällige Ergebnisse, die alle vom Modell als positiv vorhergesagt werden, dann besteht nur eine sehr geringe Wahrscheinlichkeit, dass sich der Benutzer darauf verlässt. Daher benötigen wir in diesem Szenario ein Modell mit hoher Präzision, damit sich die Benutzererfahrung verbessert und die Website in die richtige Richtung wächst.

Fazit

Die Konfusionsmatrix ist eine großartige Methode, um ein Klassifizierungsmodell zu bewerten. Es gibt den tatsächlichen Einblick, wie genau das Modell die Klassen basierend auf den bereitgestellten Eingaben klassifiziert hat und wie diese Klasse falsch klassifiziert werden kann.

Wenn Sie mehr über maschinelles Lernen erfahren möchten, sehen Sie sich das PG-Diplom in maschinellem Lernen und KI von IIIT-B & upGrad an, das für Berufstätige konzipiert ist und mehr als 450 Stunden strenge Schulungen, mehr als 30 Fallstudien und Aufgaben bietet, IIIT- B-Alumni-Status, mehr als 5 praktische, praktische Abschlussprojekte und Jobunterstützung bei Top-Unternehmen.

Führen Sie die KI-gesteuerte technologische Revolution an

PG DIPLOM IN MASCHINELLEM LERNEN UND KÜNSTLICHER INTELLIGENZ
Erfahren Sie mehr