Die Konfusionsmatrix überprüft, ob die Prognose einer Klassifikation richtiger-/fälschlicherweise wahr oder falsch ist.
Wir bauen ein Machine Learning Modell, das klassifiziert, ob ein Patient einen Tumor hat. Es gibt also nur zwei Zustände:
Das Modell ist programmiert, wurde mit sehr vielen Daten gefüttert und ist jetzt bereit zum Einsatz. Bei einer Wahrscheinlichkeit unter 50% sagt das Modell vorher, dass die Testperson keinen Tumor hat. Bei über 50-prozentiger Sicherheit wird ein Tumor identifiziert. Unsere vier Testpersonen werden jetzt mit dem Modell getestet.
Die Sportlerin und Verkäuferin haben laut dem Modell keinen Krebs. Die Großmutter und der Basketballspieler werden mit Krebs identifiziert.
Da Modelle selten perfekt sind, machen sie Fehler. Alle unsere Testpersonen entscheiden sich danach trotzdem noch zum Arzt zu gehen.
Bei der Sportlerin und der Großmutter stellt sich raus, dass die Prognose richtig war.
Bei der Verkäuferin hingegen wurde gesagt, dass sie keinen Krebs hat. Das hat sich als falsch herausgestellt, der Arzt konnte einen Tumor finden.
Beim Basketballspieler das exakte Gegenteil. Das Modell hat einen Tumor erkannt, den es gar nicht gab.
Diese richtigen und falschen Möglichkeiten können in einer Konfusionsmatrix abgebildet werden. Dort wird die Prognose mit der Realität verglichen:
| Wahre Klasse | ||
+ | – | ||
Vorhergesagte Klasse | + | True Positives | False Positives |
– | False Negatives | True Negatives |
Schätzen wir bei einem Patienten richtigerweise einen Tumor, ist es ein True Positive.
Schätzen wir bei einem Patienten fälschlicherweise einen Tumor, ist es ein False Positive.
Schätzen wir bei einem Patienten richtigerweise keinen Tumor, ist es ein True Negative.
Schätzen wir bei einem Patienten fälschlicherweise keinen Tumor, ist es ein False Negative.
Abhängig vom Fall ist es unterschiedlich wichtig einen dieser Werte möglichst klein zu halten. Bei Krankheiten ist es besser, mehr Personen fälschlicherweise positiv zu diagnostizieren, um möglichst wenige fälschlicherweise negativ zu diagnostizieren. Um eine optimale Lösung zu finden, müssen wir alle Möglichkeiten kennen, um solche Daten auszuwerten.
Sensitivität ist die True-Positive-Rate (richtig klassifizierte Positive / Anzahl aller Positiven)
Spezifizität ist die True-Negative-Rate (richtig klassifizierte Negative / Anzahl aller Negativen)
Präzision ist die Rate der richtigerweise positiv Klassifizierten (richtig klassifizierte Positive / Anzahl aller positiv Klassifizierten)
Genauigkeit ist die Rate der prozentual richtig Klassifizierten (richtig Klassifizierte / alle Klassifizierungen)
Fehlerrate ist die Rate der prozentual falsch Klassifizierten (falsch Klassifizierte / alle Klassifizierungen)
Um bei einer Klassifikation zu entscheiden, ab welcher Wahrscheinlichkeit die abhängige Variable zu trifft, müssen wir einen Grenzwert festlegen. Bei wieviel Prozent Sicherheit, erkennt ein Algorithmus aber, dass der Patient einen bösartigen Tumor hat?
Theoretisch setzt man diesen Wert auf 50%. Ist er drüber, wird Tumor als bösartig eingestuft, liegt er bei unter 50%, ist er gutartig. Aber das ist ein zu großes Risiko für den Patienten. Daher müssen verschiedene Grenzwerte getestet werden.
Für eine graphische Übersicht erstellt man in der Regel eine ROC Kurve. ROC steht für Receiver Operating Characteristics und es fasst die Konfusionsmatrizen von jedem Grenzwert zusammen.
Auf der X-Achse befindet sich die False-Positive-Rate und auf der Y-Achse die True-Positive-Rate (Sensitivität). Je näher die Punkte am Punkt P(0|1) sind, desto besser ist das Ergebnis. Der Bereich unter der Kurve (AUC = Area Under Curve) ermöglicht uns einen Vergleich zwischen verschiedenen Machine-Learning Modellen. Je größer der Bereich unter der Kurve, desto besser.