Was ist eine Konfusionsmatrix?
Eine Konfusionsmatrix ist eine Tabelle, die zählt, wie viele Objekte jeder tatsächlichen Klasse ein Klassifikationsmodell jeder vorhergesagten Klasse zugeordnet hat. Sie wird auch Fehlermatrix genannt.
So lesen Sie sie
In scikit-learn ist jede Zeile eine tatsächliche Klasse und jede Spalte eine vorhergesagte Klasse. Der Eintrag in Zeile i und Spalte j zählt die Beobachtungen der tatsächlichen Klasse i, die das Modell in die Klasse j eingeordnet hat. Andere Texte tauschen die Achsen, prüfen Sie deshalb zuerst die Beschriftung.
Die Zellen auf der Diagonale sind richtige Vorhersagen. Die Zellen außerhalb der Diagonale sind Fehler, und jede zeigt, welche Klasse das Modell mit welcher anderen verwechselt hat.
Der binäre Fall
Ein Modell mit zwei Klassen, positiv und negativ, ergibt vier Zellen.
| Vorhergesagt positiv | Vorhergesagt negativ | |
|---|---|---|
| Tatsächlich positiv | richtig positiv (TP) | falsch negativ (FN) |
| Tatsächlich negativ | falsch positiv (FP) | richtig negativ (TN) |
Ein falsch negativer Fall ist ein tatsächlich positives Objekt, das das Modell als negativ eingestuft hat. Ein falsch positiver Fall ist ein tatsächlich negatives Objekt, das das Modell als positiv eingestuft hat.
Kennzahlen aus den Zellen
- Accuracy (Gesamtgenauigkeit) = (TP + TN) / alle Beobachtungen.
- Precision = TP / (TP + FP).
- Recall = TP / (TP + FN).
- F1 = 2TP / (2TP + FP + FN).
Beispiel aus der scikit-learn-Dokumentation: 8 Beobachtungen ergeben TN = 2, FP = 1, FN = 2 und TP = 3. Accuracy ist 5/8 = 0,625, Precision ist 3/4 = 0,75, Recall ist 3/5 = 0,6 und F1 ist 6/9 = 0,67.
Bei mehr als zwei Klassen berechnen Sie Precision und Recall für jede Klasse. Die Balanced accuracy (ausgewogene Genauigkeit) ist der Mittelwert des Recall aller Klassen. Cohen’s kappa und der Matthews-Korrelationskoeffizient (MCC) nutzen ebenfalls die ganze Matrix. Kappa liegt zwischen -1 und 1. Der MCC hat ein Maximum von +1, und bei mehr als zwei Klassen liegt sein Minimum zwischen -1 und 0.
Warum Accuracy allein nicht reicht
Bei unausgewogenen Daten kann die Accuracy ein Modell verdecken, das nichts findet. Die Matrix zeigt die tatsächlich positiven Fälle und wohin sie gegangen sind, deshalb macht sie das sofort sichtbar.
Häufig gestellte Fragen
- Sind die Zeilen die tatsächliche oder die vorhergesagte Klasse?
- Das hängt von der Quelle ab. In scikit-learn ist jede Zeile die tatsächliche Klasse und jede Spalte die vorhergesagte Klasse. Andere Texte tauschen die Achsen. Lesen Sie die Achsenbeschriftung, bevor Sie die Zahlen lesen.
- Was ist der Unterschied zwischen Precision und Recall?
- Precision ist der Anteil der positiven Vorhersagen, die richtig sind: TP / (TP + FP). Recall ist der Anteil der tatsächlich positiven Fälle, die das Modell findet: TP / (TP + FN). Recall wird auch Sensitivität genannt.
- Warum reicht Accuracy nicht, um ein Modell zu beurteilen?
- Accuracy kann bei einem nutzlosen Modell hoch sein. Wenn 99 von 100 Objekten negativ sind, erreicht ein Modell, das immer negativ vorhersagt, 99 Prozent. Die Matrix zeigt das Problem, denn jeder tatsächlich positive Fall ist ein falsch negativer.
- Was zeigt eine normalisierte Konfusionsmatrix?
- Sie zeigt Anteile statt Anzahlen. In scikit-learn teilt normalize='true' jede Zeile durch ihre Summe, sodass die Diagonalzelle der Recall dieser Klasse ist. normalize='pred' teilt jede Spalte, normalize='all' teilt durch die Zahl der Beobachtungen.
Referenzen
- sklearn-model-evaluation
- scikit-learn User Guide, 3.4 Metrics and scoring: quantifying the quality of predictions scikit-learn
- sklearn-confusion-matrix-api
- sklearn.metrics.confusion_matrix scikit-learn
- google-ml-crash-course-metrics
- Machine Learning Crash Course: Classification, accuracy, precision and recall Google for Developers
- wikipedia-confusion-matrix
- Confusion matrix Wikipedia
Dies ist ein Referenzeintrag. TarmacView bietet Drohneninspektionsdienste an und verkauft nicht die in diesem Glossar beschriebene Ausrüstung oder Materialien.