Verwirrungsmatrix im maschinellen Lernen mit BEISPIEL
⚡ Intelligente Zusammenfassung
Die Konfusionsmatrix ist eine Tabelle zur Leistungsmessung von Klassifikationsmodellen, die vorhergesagte Bezeichnungen mit bekannten tatsächlichen Bezeichnungen vergleicht und genau aufzeigt, welche Klassen ein Klassifikator richtig und welche er falsch erkennt.
Was ist eine Verwirrungsmatrix?
A Verwirrung Matrix ist eine Leistungsmessungstechnik für Maschinelles Lernen Klassifizierung. Es handelt sich um eine Tabelle, die die Leistung eines Klassifizierungsmodells anhand eines Testdatensatzes mit bekannten wahren Werten darstellt. Der Begriff „Konfusionsmatrix“ ist recht einfach, die darauf aufbauende Terminologie kann jedoch verwirrend sein. Daher werden die einzelnen Bestandteile im Folgenden verständlich erklärt.
Die Matrix gilt für alle überwachten Klassifikator — logistische Regression, ein Entscheidungsbaum, ein Naives Bayes-Modell oder die tiefes neuronales Netzwerk — weil es nur zwei Spalten mit Bezeichnungen vergleicht: was das Modell vorhergesagt hat und was tatsächlich der Fall war.
Vier Ergebnisse der Verwirrungsmatrix
Die Konfusionsmatrix visualisiert die Genauigkeit eines Klassifikators durch Vergleich der tatsächlichen und der vorhergesagten Klassen. Die binäre Konfusionsmatrix besteht aus Quadraten:

Die obige Tabelle zeigt die vier Quadrate, die jede binäre Konfusionsmatrix enthält:
- TP: Richtig positiv: Die vorhergesagten Werte wurden korrekt als tatsächlich positiv vorhergesagt.
- FP: Falsch positiv: Vorhergesagte Werte wurden fälschlicherweise als tatsächlich positiv vorhergesagt, d. h. negative Werte wurden als positiv vorhergesagt.
- FN: Falsch negativ: Positive Werte werden als negativ vorhergesagt
- TN: Richtig negativ: Die vorhergesagten Werte wurden korrekt als tatsächlich negativ vorhergesagt.
Die Statistik gibt den beiden Fehlerzellen eigene Namen. Ein falsch positives Ergebnis ist ein Typ I Fehler Das Modell schlug Alarm, der niemals hätte ausgelöst werden dürfen. Ein falsch negatives Ergebnis ist ein Typ II Fehler Das Modell schwieg, obwohl es hätte Alarm schlagen müssen. Die Kenntnis, welche der beiden Optionen für Ihr Problem kostspieliger ist, entscheidet darüber, welche Kennzahl Sie später optimieren.
Den Genauigkeitstest können Sie anhand der Konfusionsmatrix berechnen, wie die folgende Formel zeigt:
Beispiel einer Verwirrungsmatrix
Die Konfusionsmatrix ist eine nützliche Methode des maschinellen Lernens, mit der sich Trefferquote (Recall), Präzision (Precision), Genauigkeit (Accuracy) und die AUC-ROC-Kurve messen lassen. Das folgende Fußballbeispiel veranschaulicht die Bedeutung der Begriffe „True Positive“, „True Negative“, „False Positive“ und „False Negative“ im Alltag.
Richtig positiv:
Du hast etwas Positives vorhergesagt, und es hat sich bewahrheitet. Zum Beispiel hattest du vorausgesagt, dass Frankreich die Weltmeisterschaft gewinnen würde, und so war es auch.
True Negative:
Du hast das Negative vorhergesagt, und das stimmt auch. Du hattest vorausgesagt, dass England nicht gewinnen würde, und es hat verloren.
Falsch positiv:
Ihre Vorhersage ist positiv und falsch.
Du hattest vorhergesagt, dass England gewinnen würde, aber es hat verloren.
Falsch negativ:
Ihre Vorhersage ist negativ, und das Ergebnis widerlegt sie.
Sie hatten vorhergesagt, dass Frankreich nicht gewinnen würde, aber es hat gewonnen.
Sie sollten sich merken, dass das erste Wort beschreibt, ob die Vorhersage richtig oder falsch war (Wahr oder Falsch), und das zweite Wort beschreibt, was das Modell vorhergesagt hat (Positiv oder Negativ).
So berechnen Sie eine Verwirrungsmatrix
Hier ist die schrittweise Vorgehensweise zur Berechnung einer Konfusionsmatrix in Data Mining:
- Schritt 1) Zunächst benötigen Sie einen Testdatensatz zusammen mit den erwarteten Ergebniswerten.
- Schritt 2) Alle Zeilen im Testdatensatz vorhersagen.
- Schritt 3) Vergleichen Sie die erwarteten Ergebnisse mit den Vorhersagen und zählen Sie:
- Die Summe der richtigen Vorhersagen jeder Klasse.
- Die Summe der falschen Vorhersagen jeder Klasse.
Danach werden diese Zahlen nach den unten angegebenen Methoden organisiert:
- Jede Zeile der Matrix entspricht einer konkreten Klasse.
- Jede Spalte der Matrix ist mit einer vorhergesagten Klasse verknüpft.
- Die Gesamtzahl der richtigen und falschen Klassifizierungen wird in die Tabelle eingetragen.
- Die Summe der korrekten Vorhersagen für eine Klasse wird in die Zelle eingetragen, in der die tatsächliche Zeile dieser Klasse auf ihre eigene vorhergesagte Spalte trifft – die Diagonale.
- Die Summe der falschen Vorhersagen für eine Klasse wird in die tatsächliche Zeile für diesen Klassenwert und in die vorhergesagte Spalte derjenigen Klasse eingetragen, die das Modell stattdessen gewählt hat.
Die Zuordnung von Zeilen und Spalten ist eher eine Konvention als eine feste Regel, und manche Diagrammwerkzeuge vertauschen das Layout. Lesen Sie daher immer die Achsenbeschriftungen, bevor Sie eine Matrix interpretieren. Die hier verwendete Ausrichtung – tatsächliche Werte in den Zeilen, vorhergesagte Werte in den Spalten – entspricht der von scikit-learn erzeugten.
Andere wichtige Begriffe unter Verwendung einer Verwirrungsmatrix
Sobald die vier Zählwerte festgelegt sind, beschreibt eine Gruppe von Sekundärbegriffen verschiedene Ausschnitte derselben Tabelle:
- Positiver Vorhersagewert (PPV): Dies entspricht nahezu der Präzision. Ein wesentlicher Unterschied zwischen den beiden Begriffen besteht darin, dass der positive Vorhersagewert (PPV) die Prävalenz berücksichtigt. Bei perfekt ausgeglichenen Klassen ist der positive Vorhersagewert gleich der Präzision.
- Nullfehlerrate: Dieser Wert definiert, wie oft Ihre Vorhersage falsch wäre, wenn Sie immer die Mehrheitsklasse vorhersagen würden. Sie können ihn als Basiswert verwenden, um Ihren Klassifikator damit zu vergleichen.
- F-Score: Der F1-Score ist ein gewichteter Durchschnittswert aus Trefferquote (Recall) und Präzision.
- ROC-Kurve: Die ROC-Kurve stellt die Trefferquote (Sensitivität) der Falsch-Positiv-Rate (Spezifität) bei verschiedenen Schwellenwerten gegenüber. Sie verdeutlicht außerdem den Zusammenhang zwischen Sensitivität (Recall) und Spezifität, d. h. der Trefferquote (Sensitivität).
- Präzision: Die Präzisionsmetrik zeigt die Genauigkeit der positiven Klasse. Es misst, wie wahrscheinlich die Vorhersage der positiven Klasse richtig ist.
Die maximale Punktzahl beträgt 1, wenn der Klassifikator alle positiven Werte korrekt klassifiziert. Die Präzision allein ist wenig aussagekräftig, da sie die negativen Werte ignoriert. Die Metrik wird üblicherweise zusammen mit der Trefferquote (Recall) verwendet. Die Trefferquote wird auch Sensitivität oder Trefferquote genannt und wie folgt berechnet.
- Empfindlichkeit: Die Sensitivität berechnet das Verhältnis der korrekt erkannten positiven Klassen. Diese Metrik zeigt, wie gut das Modell positive Klassen erkennt.
Kennzahlen und Formeln der Konfusionsmatrix
Alle oben genannten Kennzahlen basieren auf der Arithmetik mit denselben vier Zählgrößen. Daher ist es hilfreich, sie nebeneinander mit der Frage zu betrachten, die jede einzelne beantwortet.
| Metrisch | Formel | Fragen, die es beantwortet | Verwenden Sie es, wenn |
|---|---|---|---|
| Genauigkeit | (TP + TN) / (TP + TN + FP + FN) | Wie viele Vorhersagen waren insgesamt richtig? | Die Klassen sind in etwa ausgeglichen. |
| Präzision | TP / (TP + FP) | Wenn das Modell ein positives Ergebnis liefert, wie oft stimmt es dann? | Fehlalarme sind teuer |
| Rückruf (Empfindlichkeit) | TP / (TP + FN) | Von allen tatsächlichen positiven Aspekten, wie viele wurden tatsächlich erfasst? | Verpasste positive Ergebnisse sind teuer |
| Spezifität | TN / (TN + FP) | Wie viele aller tatsächlichen Negativpunkte wurden beseitigt? | Auch die negative Klasse zählt. |
| F1-Punktzahl | 2 × (Präzision × Trefferquote) / (Präzision + Trefferquote) | Wie sieht das Verhältnis zwischen den beiden aus? | Sie benötigen eine Nummer für beides |
Ein Spamfilter, getestet an 100 E-Mails, liefert folgende Werte: TP = 45, FN = 5, FP = 10 und TN = 40. Die Genauigkeit beträgt (45 + 40) / 100 = 0.85. Die Präzision liegt bei 45 / (45 + 10) = 0.82, die Trefferquote bei 45 / (45 + 5) = 0.90 und die Spezifität bei 40 / (40 + 10) = 0.80. Der F1-Score beträgt 0.86.
Diese Zahlen erzählen eine Geschichte, die eine einzelne Genauigkeitsangabe verschleiert: Der Filter erkennt 90 Prozent des echten Spams, stellt aber fälschlicherweise jede fünfte als Spam markierte legitime E-Mail unter Quarantäne. Ob dieser Kompromiss akzeptabel ist, hängt von den Kosten jedes einzelnen Fehlers ab. Genau deshalb wird die gesamte Matrix anstelle der reinen Genauigkeit angegeben.
Verwirrungsmatrix für die Klassifizierung mehrerer Klassen
Klassifizierungsprobleme beschränken sich selten auf zwei Kategorien, und die Matrix skaliert, ohne ihre Form zu verändern. Bei N Klassen wird die Tabelle zu einem N×N-Gitter: Die Diagonale enthält alle korrekten Vorhersagen, und jede Zelle außerhalb der Diagonalen gibt genau an, welche Klasse mit welcher anderen verwechselt wurde.
Ein Drei-Klassen-Modell, das Bilder in Katze, Hund und Kaninchen sortiert, erzeugt ein 3×3-Raster. Enthält die Zelle in Zeile „Katze“, Spalte „Hund“ den Wert 12, wurden zwölf Katzenbilder fälschlicherweise als Hunde klassifiziert. Diese Detailgenauigkeit macht die Matrix aussagekräftiger als eine Punktzahl: Sie benennt das spezifische Klassenpaar, das das Modell nicht trennen kann.
Präzision, Trefferquote und F1-Wert werden pro Klasse anhand einer Eins-gegen-Rest-Sichtweise definiert, wobei die betreffende Klasse die positive Klasse und alle anderen Klassen die negative Klasse darstellen. Die Kennzahlen pro Klasse werden dann auf eine von drei Arten kombiniert:
- Makro-Durchschnitt: Berechnet die Metrik für jede Klasse separat und bildet dann den ungewichteten Mittelwert. Jede Klasse wird gleich gewichtet, sodass seltene Klassen nicht untergehen.
- Mikro-Durchschnitt: Die TP-, FP- und FN-Zählungen werden über alle Klassen hinweg zusammengefasst, bevor die Metrik berechnet wird. Große Klassen dominieren, und bei Problemen mit einer einzigen Kennzeichnung sind Mikropräzision, Mikro-Recall und Genauigkeit identisch.
- Gewichteter Durchschnitt: Die Werte pro Klasse werden gemittelt, wobei die Anzahl der tatsächlichen Instanzen jeder Klasse als Gewichtung dient, wodurch das Klassenungleichgewicht sichtbar bleibt.
Wählen Sie „Makro“, wenn jede Klasse gleich wichtig ist, und „gewichtet“, wenn die Klassenverteilung den tatsächlichen Datenverkehr widerspiegelt.
Wie man eine Konfusionsmatrix erstellt Python
Die scikit-learn-Bibliothek erstellt die gesamte Tabelle aus zwei Label-Arrays, sodass kein manuelles Zählen erforderlich ist. Das folgende Beispiel vergleicht zehn korrekte Labels mit zehn Vorhersagen.
from sklearn.metrics import confusion_matrix y_true = [1, 0, 1, 1, 0, 1, 0, 0, 1, 0] y_pred = [1, 0, 1, 0, 0, 1, 1, 0, 1, 0] cm = confusion_matrix(y_true, y_pred) print(cm)
Der Aufruf gibt ein 2×2 NumPy-Array zurück, in dem Zeile 0 die tatsächliche negative Klasse und Zeile 1 die tatsächliche positive Klasse ist:
[[4 1] [1 4]]
Das Einlesen des Arrays gemäß der scikit-learn-Konvention ergibt TN = 4 (oben links), FP = 1 (oben rechts), FN = 1 (unten links) und TP = 4 (unten rechts). Das Entpacken dieser vier Werte in einer Zeile ergibt die folgende Karte:ping explizit:
tn, fp, fn, tp = confusion_matrix(y_true, y_pred).ravel()
Um Präzision, Trefferquote und F1-Wert für jede Klasse gleichzeitig zu erhalten, einschließlich der oben beschriebenen Makro- und gewichteten Mittelwerte, rufen Sie Folgendes auf: classification_report() anstatt jede Kennzahl von Hand zu berechnen:
from sklearn.metrics import classification_report print(classification_report(y_true, y_pred))
Für eine grafische Darstellung, ConfusionMatrixDisplay.from_predictions(y_true, y_pred) Stellt dieselbe Tabelle als beschriftete Heatmap dar. Die vollständige Argumentliste, einschließlich der labels und normalize Optionen sind dokumentiert in der scikit-learn confusion_matrix referenceDer gleiche Auswertungsschritt gilt für Modelle, die mit TensorFlowweil die Metrik nur von den vorhergesagten Labels abhängt.
Warum brauchen Sie eine Verwirrungsmatrix?
Hier sind die Vorteile und Nutzen der Verwendung einer Konfusionsmatrix.
- Es zeigt, wie ein Klassifizierungsmodell bei Vorhersagen verwirrt wird.
- Die Konfusionsmatrix gibt Ihnen nicht nur Einblick in die Fehler, die Ihr Klassifikator macht, sondern auch in die Art der Fehler, die er macht.
- Diese Aufschlüsselung hilft Ihnen, die Einschränkung zu überwinden, die sich allein aus der Klassifizierungsgenauigkeit ergibt.
- Jede Spalte der Verwirrungsmatrix repräsentiert die Instanzen dieser vorhergesagten Klasse.
- Jede Zeile der Verwirrungsmatrix repräsentiert die Instanzen der tatsächlichen Klasse.
- Es macht die Modellevaluierung zu einer Diagnose und weist auf das spezifische Klassenpaar hin, das mehr Daten oder ein besseres Merkmal benötigt.
Dieser diagnostische Wert ist der Grund, warum die Konfusionsmatrix im Zentrum der Evaluierungsphase jedes Systems steht. Datenwissenschaft Arbeitsablauf und warum dies in der Regel die erste Tabelle ist, die überprüft wird, bevor ein Klassifikator in die Produktion überführt wird.


