Eine Konfusionsmatrix ist ein Hilfsmittel zur Bewertung der Leistung der Klassifizierung von Algorithmen des überwachten maschinellen Lernens.
Was ist eine Konfusionsmatrix?
Wir Menschen nehmen Dinge unterschiedlich wahr – sogar Wahrheit und Lüge. Was mir wie eine 10 cm lange Linie erscheint, kann Ihnen wie eine 9 cm lange Linie vorkommen. Aber der tatsächliche Wert kann 9, 10 oder etwas anderes sein. Was wir erraten, ist der vorhergesagte Wert!
Genauso wie unser Gehirn unsere eigene Logik anwendet, um etwas vorherzusagen, wenden Maschinen verschiedene Algorithmen (die so genannten Algorithmen des maschinellen Lernens ) an, um einen vorhergesagten Wert für eine Frage zu ermitteln. Auch hier können diese Werte mit dem tatsächlichen Wert übereinstimmen oder von ihm abweichen.
In einer wettbewerbsorientierten Welt würden wir gerne wissen, ob unsere Vorhersage richtig ist oder nicht, um unsere Leistung zu verstehen. Auf dieselbe Weise können wir die Leistung eines Algorithmus für maschinelles Lernen daran messen, wie viele Vorhersagen er richtig gemacht hat.
Was ist also ein maschineller Lernalgorithmus?
Maschinen versuchen, bestimmte Antworten auf ein Problem zu finden, indem sie eine bestimmte Logik oder eine Reihe von Anweisungen anwenden, die als maschinelle Lernalgorithmen bezeichnet werden. Es gibt drei Arten von Algorithmen für maschinelles Lernen: überwachte, unüberwachte und verstärkende Algorithmen.
Die einfachsten Algorithmen sind überwachte Algorithmen, bei denen wir die Antwort bereits kennen und die Maschinen darauf trainieren, zu dieser Antwort zu gelangen, indem wir den Algorithmus mit einer Vielzahl von Daten trainieren – so wie ein Kind zwischen Menschen verschiedener Altersgruppen unterscheiden würde, indem es sich ihre Merkmale immer wieder ansieht.
Bei überwachten ML-Algorithmen gibt es zwei Arten – Klassifizierung und Regression.
Klassifizierungsalgorithmen klassifizieren oder sortieren Daten auf der Grundlage einer Reihe von Kriterien. Wenn Sie zum Beispiel möchten, dass Ihr Algorithmus Kunden auf der Grundlage ihrer Essensvorlieben gruppiert – diejenigen, die Pizza mögen und diejenigen, die keine Pizza mögen -, würden Sie einen Klassifizierungsalgorithmus wie Entscheidungsbaum, Random Forest, Naive Bayes oder SVM(Support Vector Machine) verwenden.
Welcher dieser Algorithmen würde die beste Arbeit leisten? Warum sollten Sie den einen Algorithmus dem anderen vorziehen?
Konfusionsmatrix eingeben….
Eine Konfusionsmatrix ist eine Matrix oder Tabelle, die Auskunft darüber gibt, wie genau ein Klassifizierungsalgorithmus bei der Klassifizierung eines Datensatzes ist. Nun, der Name soll die Menschen nicht verwirren, aber zu viele falsche Vorhersagen bedeuten wahrscheinlich, dass der Algorithmus verwirrt war😉!
Eine Konfusionsmatrix ist also eine Methode, um die Leistung eines Klassifizierungsalgorithmus zu bewerten.
Aber wie?
Nehmen wir an, Sie wenden verschiedene Algorithmen auf unser zuvor erwähntes binäres Problem an: Klassifizieren (trennen) Sie Menschen danach, ob sie Pizza mögen oder nicht. Um den Algorithmus zu bewerten, dessen Werte der richtigen Antwort am nächsten kommen, würden Sie eine Konfusionsmatrix verwenden. Für ein binäres Klassifizierungsproblem (mögen/ nicht mögen, wahr/falsch, 1/0) liefert die Konfusionsmatrix vier Rasterwerte, nämlich:
- Wahr positiv (TP)
- Richtig Negativ (TN)
- Falsch Positiv (FP)
- Falsch Negativ (FN)
Was sind die vier Raster in einer Konfusionsmatrix?
Die vier Werte, die mithilfe der Konfusionsmatrix ermittelt werden, bilden die Gitter der Matrix.
True Positive (TP) und True Negative (TN) sind die Werte, die vom Klassifizierungsalgorithmus korrekt vorhergesagt werden,
- TP steht für diejenigen, die Pizza mögen und die das Modell richtig klassifiziert hat,
- TN steht für diejenigen, die keine Pizza mögen und die das Modell richtig klassifiziert hat,
Falsch positiv (FP) und falsch negativ (FN) sind die Werte, die vom Klassifizierer falsch vorhergesagt wurden,
- FP steht für diejenigen, die keine Pizza mögen (negativ), aber der Klassifikator hat vorhergesagt, dass sie Pizza mögen (fälschlicherweise positiv). FP wird auch als Fehler vom Typ I bezeichnet.
- FN steht für diejenigen, die Pizza mögen (positiv), aber der Klassifikator hat vorhergesagt, dass sie es nicht tun (fälschlicherweise negativ). FN wird auch als Fehler vom Typ II bezeichnet.
Um das Konzept besser zu verstehen, lassen Sie uns ein reales Szenario betrachten.
Nehmen wir an, Sie haben einen Datensatz mit 400 Personen, die sich dem Covid-Test unterzogen haben. Nun haben Sie die Ergebnisse verschiedener Algorithmen, die die Anzahl der Covid-positiven und Covid-negativen Personen ermittelt haben.
Hier sind die beiden Konfusionsmatrizen zum Vergleich:
Wenn Sie beide betrachten, könnten Sie versucht sein zu sagen, dassder1. Algorithmus genauer ist. Aber um ein konkretes Ergebnis zu erhalten, benötigen wir einige Metriken, die die Genauigkeit, Präzision und viele andere Werte messen können, die beweisen, welcher Algorithmus besser ist.
Metriken anhand der Konfusionsmatrix und ihre Bedeutung
Die wichtigsten Metriken, die uns helfen zu entscheiden, ob der Klassifikator die richtigen Vorhersagen gemacht hat, sind:
#1. Recall/Sensitivität
Recall oder Sensitivity oder True Positive Rate (TPR) oder Entdeckungswahrscheinlichkeit ist das Verhältnis zwischen den richtigen positiven Vorhersagen (TP) und den gesamten positiven Vorhersagen (d.h. TP und FN).
R = TP/(TP FN)
Recall ist das Maß für die Anzahl der korrekten positiven Ergebnisse im Verhältnis zur Anzahl der möglichen positiven Ergebnisse. Ein höherer Recall-Wert bedeutet, dass es weniger falsch-negative Ergebnisse gibt, was gut für den Algorithmus ist. Verwenden Sie Recall, wenn es wichtig ist, die falsch-negativen Ergebnisse zu kennen. Wenn zum Beispiel eine Person mehrere Verstopfungen im Herzen hat und das Modell zeigt, dass es ihr absolut gut geht, könnte sich dies als tödlich erweisen.
#2. Präzision
Die Präzision ist das Maß für die richtigen positiven Ergebnisse im Verhältnis zu allen vorhergesagten positiven Ergebnissen, einschließlich der echten und falschen positiven Ergebnisse.
Pr = TP/(TP FP)
Die Präzision ist sehr wichtig, wenn die falsch-positiven Ergebnisse zu groß sind, um ignoriert zu werden. Zum Beispiel, wenn eine Person nicht an Diabetes leidet, das Modell dies aber anzeigt und der Arzt bestimmte Medikamente verschreibt. Dies kann zu schweren Nebenwirkungen führen.
#3. Spezifität
Die Spezifität oder True Negative Rate (TNR) ist der Anteil der korrekt negativen Ergebnisse an allen Ergebnissen, die negativ hätten sein können.
S = TN/(TN FP)
Sie ist ein Maß dafür, wie gut Ihr Klassifikator die negativen Werte identifiziert.
#4. Genauigkeit
Die Genauigkeit ist die Anzahl der richtigen Vorhersagen im Verhältnis zur Gesamtzahl der Vorhersagen. Wenn Sie also aus einer Stichprobe von 50 Werten 20 positive und 10 negative Werte richtig erkannt haben, beträgt die Genauigkeit Ihres Modells 30/50.
Genauigkeit A = (TP TN)/(TP TN FP FN)
#5. Prävalenz
Die Prävalenz ist das Maß für die Anzahl der positiven Ergebnisse unter allen Ergebnissen.
P = (TP FN)/(TP TN FP FN)
#6. F-Wert
Manchmal ist es schwierig, zwei Klassifizierer (Modelle) nur anhand von Precision und Recall zu vergleichen, die lediglich arithmetische Mittelwerte einer Kombination aus den vier Rastern sind. In solchen Fällen können wir den F-Score oder F1-Score verwenden, der das harmonische Mittel darstellt – das genauer ist, weil es bei extrem hohen Werten nicht zu stark schwankt. Ein höherer F-Score (maximal 1) weist auf ein besseres Modell hin.
F-Score = 2*Präzision*Recall/ (Recall-Präzision)
Wenn es wichtig ist, sowohl Falsch-Positive als auch Falsch-Negative zu berücksichtigen, ist der F1-Score eine gute Kennzahl. So müssen beispielsweise diejenigen, die nicht Covid-positiv sind (obwohl der Algorithmus dies gezeigt hat), nicht unnötig isoliert werden. Genauso müssen diejenigen, die Covid-positiv sind (aber der Algorithmus sagte, dass sie es nicht sind), isoliert werden.
#7. ROC-Kurven
Parameter wie Accuracy und Precision sind gute Metriken, wenn die Daten ausgewogen sind. Bei einem unausgewogenen Datensatz bedeutet eine hohe Genauigkeit nicht unbedingt, dass der Klassifikator effizient ist. Ein Beispiel: 90 von 100 Studenten in einer Gruppe können Spanisch. Selbst wenn Ihr Algorithmus sagt, dass alle 100 Spanisch können, liegt die Genauigkeit bei 90 %, was ein falsches Bild des Modells vermitteln kann. Bei unausgewogenen Datensätzen sind Metriken wie die ROC-Kurve ein effektiverer Bestimmungsfaktor.
DieROC-Kurve (Receiver Operating Characteristic) zeigt visuell die Leistung eines binären Klassifizierungsmodells bei verschiedenen Klassifizierungsschwellenwerten. Es handelt sich um eine Darstellung der TPR (True Positive Rate) gegen die FPR (False Positive Rate), die als (1-Specificity) bei verschiedenen Schwellenwerten berechnet wird. Der Wert, der in der Grafik am nächsten an 45 Grad (oben links) liegt, ist der genaueste Schwellenwert. Wenn der Schwellenwert zu hoch ist, gibt es nicht viele falsch-positive Ergebnisse, aber mehr falsch-negative Ergebnisse und umgekehrt.
Wenn die ROC-Kurve für verschiedene Modelle aufgezeichnet wird, wird im Allgemeinen das Modell mit der größten Fläche unter der Kurve (AUC) als das bessere Modell angesehen.
Lassen Sie uns alle metrischen Werte für unsere Konfusionsmatrizen von Klassifikator I und Klassifikator II berechnen:
Wir sehen, dass die Präzision bei Klassifikator II höher ist, während die Genauigkeit bei Klassifikator I etwas höher ist. Je nach Problemstellung können die Entscheidungsträger Klassifikator I oder II wählen.
N x N Konfusionsmatrix
Bis jetzt haben wir eine Konfusionsmatrix für binäre Klassifikatoren gesehen. Was wäre, wenn es mehr Kategorien als nur ja/nein oder mögen/ablehnen gäbe? Zum Beispiel, wenn Ihr Algorithmus Bilder nach den Farben Rot, Grün und Blau sortieren soll. Diese Art der Klassifizierung wird als Mehrklassen-Klassifizierung bezeichnet. Die Anzahl der Ausgabevariablen bestimmt auch die Größe der Matrix. In diesem Fall wird die Konfusionsmatrix also 3×3 sein.
Zusammenfassung
Eine Konfusionsmatrix ist ein hervorragendes Bewertungssystem, da sie detaillierte Informationen über die Leistung eines Klassifizierungsalgorithmus liefert. Sie eignet sich sowohl für binäre als auch für Mehrklassen-Klassifikatoren, bei denen mehr als 2 Parameter zu berücksichtigen sind. Eine Konfusionsmatrix ist einfach zu visualisieren und wir können alle anderen Leistungskennzahlen wie F-Score, Präzision, ROC und Genauigkeit anhand der Konfusionsmatrix erstellen.
Sie können sich auch ansehen, wie man ML-Algorithmen für Regressionsprobleme auswählt.