Direkt zum Inhalt

Was ist eine Konfusionsmatrix beim maschinellen Lernen? Das Modellbewertungsinstrument erklärt

Sieh dir an, wie eine Konfusionsmatrix die Vorhersagen des Modells in "True Positives", "False Positives", "True Negatives" und "False Negatives" einteilt. Lies weiter, um den Aufbau, die Berechnungsschritte und die Verwendung für den Umgang mit unausgewogenen Daten und die Fehleranalyse zu verstehen.
Aktualisierte 16. Jan. 2025  · 12 Min. Lesezeit

Dieses Jahr war ein Jahr der Innovationen im Bereich der Datenwissenschaft, wobei künstliche Intelligenz und maschinelles Lernen die Schlagzeilen beherrschten. Obwohl es keinen Zweifel an den Fortschritten im Jahr 2023 gibt, ist es wichtig zu erkennen, dass viele dieser Fortschritte beim maschinellen Lernen nur durch die richtigen Bewertungsprozesse möglich waren, die die Modelle durchlaufen. Datenpraktiker/innen müssen sicherstellen, dass die Leistung eines maschinellen Lernmodells genau bewertet und gemessen wird. Das ist nicht vorteilhaft, sondern unerlässlich.

Wenn du die Kunst der Datenwissenschaft verstehen willst, führt dich dieser Artikel durch die entscheidenden Schritte der Modellevaluierung mit Hilfe der Konfusionsmatrix, einem relativ einfachen, aber leistungsstarken Werkzeug, das bei der Modellevaluierung häufig eingesetzt wird.

Also lass uns eintauchen und mehr über die Verwirrungsmatrix erfahren.

Was ist die Konfusionsmatrix?

Die Konfusionsmatrix ist ein Instrument zur Bewertung der Leistung eines Modells und wird visuell in Form einer Tabelle dargestellt. Sie bietet Datenpraktikern einen tieferen Einblick in die Leistung, Fehler und Schwächen des Modells. So können die Datenpraktiker ihr Modell durch Feinabstimmung weiter analysieren.

Die Struktur der Konfusionsmatrix

Lasst uns die Grundstruktur einer Verwirrungsmatrix am Beispiel der Identifizierung einer E-Mail als Spam oder Nicht-Spam kennenlernen.

  • True Positive (TP) - Dein Modell hat die positive Klasse vorhergesagt. Zum Beispiel, um eine Spam-E-Mail als Spam zu identifizieren.
  • True Negative (TN) - Dein Modell hat die negative Klasse richtig vorhergesagt. Zum Beispiel eine reguläre E-Mail als nicht spammbar zu identifizieren.
  • Falsch positiv (FP) - Dein Modell hat die positive Klasse falsch vorhergesagt. Zum Beispiel, indem du eine normale E-Mail als Spam identifizierst.
  • Falsches Negativ (FN) - Dein Modell hat die negative Klasse falsch vorhergesagt. Zum Beispiel eine Spam-E-Mail als normale E-Mail zu identifizieren.

Um das Konzept einer Verwirrungsmatrix wirklich zu verstehen, schau dir die folgende Visualisierung an:

Die Struktur einer Konfusionsmatrix

Die Grundstruktur einer Konfusionsmatrix

Konfusion Matrix Terminologie

Um die Konfusionsmatrix genau zu verstehen, ist es wichtig, die wichtigen Metriken zu kennen, die zur Messung der Leistung eines Modells verwendet werden.

Definieren wir wichtige Messgrößen:

Genauigkeit

Die Genauigkeit misst die Gesamtzahl der richtigen Klassifizierungen geteilt durch die Gesamtzahl der Fälle.

Genauigkeitsformel für Konfusionsmatrix

Rückruf/Empfindlichkeit

Recall/Sensitivity misst die Gesamtzahl der echten Positiven dividiert durch die Gesamtzahl der tatsächlichen Positiven.

Rückrufformel für Konfusionsmatrix

Präzision

Die Präzision misst die Gesamtzahl der richtigen positiven Ergebnisse geteilt durch die Gesamtzahl der vorhergesagten positiven Ergebnisse.

Präzisionsformel für Konfusionsmatrix

Spezifität

Die Spezifität misst die Gesamtzahl der echten Negative geteilt durch die Gesamtzahl der tatsächlichen Negative.

Spezifitätsformel für Konfusionsmatrix

F1 Ergebnis

Der F1 Score ist eine einzelne Metrik, die ein harmonisches Mittel aus Precision und Recall ist.

F1-Punkte-Formel für Konfusionsmatrix

Die Rolle einer Konfusionsmatrix

Um die Verwirrungsmatrix besser zu verstehen, musst du wissen, was das Ziel ist und warum sie häufig verwendet wird.

Wenn es darum geht, die Leistung eines Modells oder generell etwas zu messen, konzentrieren sich die Menschen auf die Genauigkeit. Wenn du dich jedoch stark auf die Genauigkeitskennzahl verlässt, kann das zu falschen Entscheidungen führen. Um dies zu verstehen, werden wir die Grenzen der Genauigkeit als eigenständige Kennzahl erläutern.

Grenzen der Genauigkeit als eigenständige Metrik

Wie oben definiert, misst die Genauigkeit die Gesamtzahl der richtigen Klassifizierungen geteilt durch die Gesamtzahl der Fälle. Die Verwendung dieser Kennzahl als eigenständige Kennzahl ist jedoch mit Einschränkungen verbunden, z. B:

  • Mit unausgewogenen Daten arbeiten: Keine Daten sind jemals perfekt, und die Verwendung der Genauigkeitskennzahl sollte anhand ihrer Vorhersagekraft bewertet werden. Wenn du zum Beispiel mit einem Datensatz arbeitest, bei dem eine Klasse überwiegt, wird das Modell eine höhere Trefferquote erzielen, da es die Mehrheitsklasse vorhersagt.
  • Fehlertypen: Wenn du die Leistung deines Modells in einem bestimmten Kontext verstehst und kennenlernst, kannst du es besser abstimmen und verbessern. Wenn du zum Beispiel mit Hilfe einer Konfusionsmatrix zwischen den verschiedenen Fehlertypen wie FP und FN unterscheidest, kannst du die Grenzen des Modells ausloten.

Durch diese Einschränkungen bietet die Konfusionsmatrix zusammen mit der Vielzahl von Metriken einen detaillierteren Einblick, wie die Leistung eines Modells verbessert werden kann.

Die Vorteile einer Verwirrungsmatrix

Wie in der Grundstruktur einer Konfusionsmatrix zu sehen ist, werden die Vorhersagen in vier Kategorien unterteilt: Richtig Positiv, Richtig Negativ, Falsch Positiv und Falsch Negativ.

Diese detaillierte Aufschlüsselung bietet wertvolle Einblicke und Lösungen zur Verbesserung der Leistung eines Modells:

  • Unausgewogene Daten auflösen: Wie bereits untersucht, hat die Genauigkeit als eigenständige Kennzahl ihre Grenzen, wenn es um unausgewogene Daten geht. Die Verwendung anderer Metriken, wie Präzision und Recall, ermöglicht eine ausgewogenere Sicht und eine genauere Darstellung. Zum Beispiel können falsch positive und falsch negative Ergebnisse in Sektoren wie dem Finanzwesen zu hohen Konsequenzen führen.
  • Fehlertyp-Differenzierungsmerkmal: Das Verständnis der verschiedenen Fehlertypen, die das maschinelle Lernmodell produziert, gibt Aufschluss über seine Grenzen und Verbesserungsmöglichkeiten.
  • Gegenleistungen: Die Abwägung zwischen den verschiedenen Metriken in einer Konfusionsmatrix ist wichtig, da sie sich gegenseitig beeinflussen. Zum Beispiel führt eine Erhöhung der Genauigkeit in der Regel zu einer Verringerung der Rückrufquote. Dies hilft dir, die Leistung des Modells zu verbessern, indem du die Erkenntnisse aus den beeinträchtigten Metrikwerten nutzt.

Berechnen einer Konfusionsmatrix

Nachdem wir nun ein gutes Verständnis der grundlegenden Konfusionsmatrix, ihrer Terminologie und ihrer Verwendung haben, wollen wir uns nun der manuellen Berechnung einer Konfusionsmatrix widmen, gefolgt von einem praktischen Beispiel.

Manuelles Berechnen einer Konfusionsmatrix

Hier findest du eine Schritt-für-Schritt-Anleitung, wie du eine Konfusionsmatrix manuell berechnen kannst.

Definiere die Ergebnisse

Der erste Schritt besteht darin, die beiden möglichen Ergebnisse deiner Aufgabe zu ermitteln: Positiv oder Negativ.

Sammeln der Vorhersagen

Sobald die möglichen Ergebnisse definiert sind, werden im nächsten Schritt alle Vorhersagen des Modells gesammelt, einschließlich der Anzahl der Vorhersagen für jede Klasse und deren Vorkommen.

Klassifizierung der Ergebnisse

Wenn alle Vorhersagen zusammengetragen wurden, ist der nächste Schritt, die Ergebnisse in die vier Kategorien einzuordnen:

  • Wahr positiv (TP)
  • Wahres Negativ (TN)
  • False Positive (FP)
  • Falsches Negativ (FN)

Eine Matrix erstellen

Sobald die Ergebnisse klassifiziert sind, werden sie in einer Tabelle dargestellt, die anhand verschiedener Kennzahlen analysiert wird.

Praxisbeispiel Konfusionsmatrix

Lass uns ein praktisches Beispiel durchgehen, um diesen Prozess zu demonstrieren.

Bleiben wir bei dem Beispiel, eine E-Mail als Spam oder Nicht-Spam zu identifizieren, und erstellen wir einen hypothetischen Datensatz, in dem Spam positiv und Nicht-Spam negativ ist. Wir haben die folgenden Daten:

  • Von den 200 E-Mails sind 80 tatsächlich Spam, wovon das Modell 60 korrekt als Spam identifiziert (TP).
  • Von den 200 E-Mails sind 120 E-Mails kein Spam, wobei das Modell 100 davon korrekt als Nicht-Spam identifiziert (TN).
  • Unter den 200 E-Mails identifiziert das Modell 20 Nicht-Spam-E-Mails fälschlicherweise als Spam (FP).
  • Unter den 200 E-Mails vermisst das Modell 20 Spam-E-Mails und identifiziert sie als Nicht-Spam (FN).

An diesem Punkt haben wir das Ergebnis definiert und die Daten gesammelt; der nächste Schritt besteht darin, die Ergebnisse in die vier Kategorien einzuordnen:

  • Echt positiv: 60
  • Wahres Negativ: 100
  • Falsches Positiv: 20
  • Falsches Negativ: 20

Der nächste Schritt ist, daraus eine Verwirrungsmatrix zu machen:

Tatsächliche / Vorhergesagte

Spam (positiv)

Kein Spam (Negativ)

Spam (positiv)

60 (TP)

20 (FN)

Kein Spam (Negativ)

20 (FP)

100 (TN)

Was sagt uns also die Verwirrungsmatrix?

  • Die True Positives und True Negatives zeigen genaue Vorhersagen an.
  • Die False Positives zeigen an, dass das Modell die positive Klasse falsch vorhergesagt hat.
  • Die Falsch-Negativen zeigen an, dass das Modell die positive Klasse nicht identifizieren und vorhersagen konnte.

Mit dieser Konfusionsmatrix können wir die verschiedenen Metriken berechnen: Genauigkeit, Recall/Sensitivität, Präzision, Spezifität und der F1-Score.

Ergebnisse der Konfusionsmatrix-Metrik

Ausgabe der Konfusionsmatrix-Metriken

Präzision vs. Rückruf

Du fragst dich vielleicht, warum der F1-Score Präzision und Recall in seiner Formel enthält. Die F1-Kennzahl ist entscheidend, wenn du mit unausgewogenen Daten zu tun hast oder wenn du einen Kompromiss zwischen Präzision und Recall finden willst.

Die Präzision misst die Genauigkeit der positiven Vorhersage. Sie beantwortet die Frage: "Wenn das Modell WAHR vorhergesagt hat, wie oft lag es richtig?". Präzision ist vor allem dann wichtig, wenn die Kosten für ein falsches Positiv hoch sind.

Der Recall oder die Sensitivität misst die Anzahl der tatsächlich positiven Ergebnisse, die das Modell korrekt identifiziert hat. Sie beantwortet die Frage: "Wenn die Klasse tatsächlich WAHR war, wie oft lag der Klassifikator richtig?

Der Wiedererkennungswert ist wichtig, wenn sich herausstellt, dass das Übersehen einer positiven Instanz (FN) deutlich schlechter ist als die falsche Kennzeichnung negativer Instanzen als positiv.

  • Präziser Einsatz: Falschmeldungen können schwerwiegende Folgen haben. Ein im Finanzsektor verwendetes Klassifizierungsmodell hat zum Beispiel eine Transaktion fälschlicherweise als betrügerisch eingestuft. In solchen Szenarien ist die Präzisionsmetrik wichtig.
  • Rückruf verwenden: Die Identifizierung aller positiven Fälle kann zwingend erforderlich sein. Zum Beispiel können Klassifizierungsmodelle, die im medizinischen Bereich eingesetzt werden, bei der Diagnose versagen, was schädlich sein kann. In Szenarien, in denen es darauf ankommt, alle positiven Fälle korrekt zu identifizieren, ist die Recall-Kennzahl wichtig.

Konfusionsmatrix mit Scikit-learn in Python

Um dies zu verdeutlichen, erstellen wir mit Scikit-learn in Python eine Konfusionsmatrix mit einem Random Forest Klassifikator.

Der erste Schritt besteht darin, die benötigten Bibliotheken zu importieren und deinen synthetischen Datensatz zu erstellen.

# Import Libraries
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import confusion_matrix
import matplotlib.pyplot as plt
import seaborn as sns

# Synthetic Dataset
X, y = make_classification(n_samples=1000, n_features=20,
                           n_classes=2, random_state=42)

# Split into Training and Test Sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

Der nächste Schritt ist das Trainieren des Modells mit einem einfachen Random Forest Classifier

# Train the Model
model = RandomForestClassifier(random_state=42)
model.fit(X_train, y_train)

Wie im praktischen Beispiel müssen wir die Ergebnisse klassifizieren und in eine Konfusionsmatrix umwandeln. Wir tun dies, indem wir zunächst Vorhersagen für die Testdaten treffen und dann eine Konfusionsmatrix erstellen:

# Predict on the Test Data
y_pred = model.predict(X_test)

# Generate the confusion matrix
cm = confusion_matrix(y_test, y_pred)

Jetzt wollen wir eine visuelle Darstellung der Konfusionsmatrix erstellen:

# Create a Confusion Matrix
plt.figure(figsize=(8, 8))
sns.heatmap(cm, annot=True, fmt='d', cmap='Greens')
plt.title('Confusion Matrix')
plt.ylabel('True label')
plt.xlabel('Predicted label')
plt.show()

Das ist die Ausgabe:

Beispiel für eine Konfusionsmatrix

Random Forest Konfusionsmatrix Ausgabe

Tada 🎉 Du hast erfolgreich deine erste Konfusionsmatrix mit Scikit-learn erstellt!

Fazit

In diesem Artikel haben wir uns mit der Definition einer Konfusionsmatrix, wichtigen Begriffen rund um das Bewertungsinstrument sowie den Grenzen und der Bedeutung der verschiedenen Metriken beschäftigt. Die Fähigkeit, eine Konfusionsmatrix manuell zu berechnen, ist wichtig für dein Data Science-Wissen, ebenso wie die Fähigkeit, sie mit Bibliotheken wie Scikit-learn auszuführen.

Wenn du tiefer in die Konfusionsmatrix eintauchen möchtest, kannst du mit Understanding Confusion Matrix in R Konfusionsmatrizen üben. In unserem Kurs "Modellvalidierung in Python " lernst du die Grundlagen der Modellvalidierung und Validierungstechniken kennen und kannst damit beginnen, validierte und leistungsstarke Modelle zu erstellen.


Nisha Arya Ahmed's photo
Author
Nisha Arya Ahmed
LinkedIn

Ich bin ein eifriger Lerner, der seine technischen Datenkenntnisse und seine ausgeprägten zwischenmenschlichen Fähigkeiten einsetzen möchte, um sein technisches Wissen und seine Schreibfähigkeiten zu verbessern und zu erweitern.

Ich bin von der Pharmakologie in die Welt der Datenwissenschaft gewechselt und habe ein 9-monatiges Bootcamp bei Lambda School absolviert. 

Ich bin daran interessiert, meine technischen Programmier- und Schreibfähigkeiten in den Bereichen Maschinelles Lernen und Künstliche Intelligenz umzusetzen und zu verbessern. ​

Zurzeit bin ich Datenwissenschaftlerin und freiberufliche technische Redakteurin.

Themen

Erfahre mehr über die Konfusionsmatrix

Zertifizierung verfügbar

Kurs

Modellvalidierung in Python

4 hr
25K
Lerne die Grundlagen der Modellvalidierung und Validierungstechniken kennen und beginne, validierte und leistungsstarke Modelle zu erstellen.
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow
Verwandt

Der Blog

Top 30 Generative KI Interview Fragen und Antworten für 2024

Dieser Blog bietet eine umfassende Sammlung von Fragen und Antworten zu generativen KI-Interviews, die von grundlegenden Konzepten bis hin zu fortgeschrittenen Themen reichen.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 Min.

Der Blog

Lehrer/innen und Schüler/innen erhalten das Premium DataCamp kostenlos für ihre gesamte akademische Laufbahn

Keine Hacks, keine Tricks. Schüler/innen und Lehrer/innen, lest weiter, um zu erfahren, wie ihr die Datenerziehung, die euch zusteht, kostenlos bekommen könnt.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

4 Min.

Der Blog

Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Bist du gerade auf der Suche nach einem Job, der Snowflake nutzt? Bereite dich mit diesen 20 besten Snowflake-Interview-Fragen vor, damit du den Job bekommst!
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 Min.

Der Blog

Die 32 besten AWS-Interview-Fragen und Antworten für 2024

Ein kompletter Leitfaden zur Erkundung der grundlegenden, mittleren und fortgeschrittenen AWS-Interview-Fragen, zusammen mit Fragen, die auf realen Situationen basieren. Es deckt alle Bereiche ab und sorgt so für eine abgerundete Vorbereitungsstrategie.
Zoumana Keita 's photo

Zoumana Keita

30 Min.

Der Blog

2022-2023 DataCamp Classrooms Jahresbericht

Zu Beginn des neuen Schuljahres ist DataCamp Classrooms motivierter denn je, das Lernen mit Daten zu demokratisieren. In den letzten 12 Monaten sind über 7.650 neue Klassenzimmer hinzugekommen.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 Min.

Der Blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates hat im zweiten Quartal 2023 über 20.000 Stipendien an unsere gemeinnützigen Partner vergeben. Erfahre, wie fleißige benachteiligte Lernende diese Chancen in lebensverändernde berufliche Erfolge verwandelt haben.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Mehr anzeigenMehr anzeigen