Klassifikationsmetriken im Detail
Konfusionsmatrix, Precision, Recall, F1, ROC-AUC und PR-Kurve – die richtige Metrik auswählen.
Klassifikationsmetriken im Detail ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Genauigkeit reicht nicht aus
Genauigkeit ist der Anteil korrekter Vorhersagen, kann bei unausgeglichenen Daten aber irreführend sein. Ein Modell, das nur die Mehrheitsklasse vorhersagt, kann 99 % erreichen und für die seltene Klasse trotzdem nutzlos sein.
Die Konfusionsmatrix
Die Konfusionsmatrix unterteilt Vorhersagen in richtig positive, falsch positive, richtig negative und falsch negative Fälle. Sie bildet die Grundlage für alle anderen Metriken.
from sklearn.metrics import confusion_matrix
y_true = [0, 1, 1, 0, 1, 0]
y_pred = [0, 1, 0, 0, 1, 1]
print(confusion_matrix(y_true, y_pred))
# rows = actual, columns = predictedPrecision
Precision = TP / (TP + FP). Wie viele der als positiv vorhergesagten Fälle sind tatsächlich positiv? Eine hohe Precision bedeutet wenige Fehlalarme. Das ist wichtig, wenn falsch positive Ergebnisse kostspielig sind (z. B. bei Spamfiltern).
from sklearn.metrics import precision_score
print(precision_score(y_true, y_pred))Recall
Recall = TP / (TP + FN). Wie viele der tatsächlich positiven Fälle wurden erkannt? Ein hoher Recall bedeutet wenige übersehene Fälle. Das ist wichtig, wenn falsch negative Ergebnisse kostspielig sind (z. B. bei der Erkennung von Krankheiten).
from sklearn.metrics import recall_score
print(recall_score(y_true, y_pred))F1-Score
Der F1-Score ist das harmonische Mittel von Precision und Recall: 2 * P * R / (P + R). Er bildet beide Größen ausgewogen ab und eignet sich als einzelne Kennzahl bei unausgeglichenen Daten.
from sklearn.metrics import f1_score, classification_report
print(f1_score(y_true, y_pred))
print(classification_report(y_true, y_pred))ROC-Kurve und AUC
Die ROC-Kurve trägt die Rate der richtig positiven Fälle über verschiedene Schwellenwerte gegen die Rate der falsch positiven Fälle auf. roc_auc_score fasst sie zusammen: 1.0 ist perfekt, 0.5 entspricht zufälligem Raten.
from sklearn.metrics import roc_auc_score
# needs probability scores, not hard labels
proba = model.predict_proba(Xte)[:, 1]
print(roc_auc_score(yte, proba))Precision-Recall-Kurve
Die PR-Kurve trägt Precision gegen Recall über verschiedene Schwellenwerte auf. Bei stark unausgeglichenen Klassen ist sie informativer als die ROC-Kurve, weil sie sich auf die positive Klasse konzentriert.
from sklearn.metrics import precision_recall_curve
prec, rec, thresh = precision_recall_curve(yte, proba)
# plot rec (x) vs prec (y) to see the tradeoffAverage Precision
average_precision_score fasst die PR-Kurve in einer Kennzahl zusammen (Fläche unter der PR-Kurve). Sie ist die bevorzugte zusammenfassende Metrik für die unausgeglichene binäre Klassifikation.
from sklearn.metrics import average_precision_score
print(average_precision_score(yte, proba))ROC AUC vs. Average Precision
ROC AUC kann bei unausgeglichenen Daten zu optimistisch wirken, weil die richtig negativen Fälle überwiegen. Average Precision ignoriert richtig negative Fälle und bildet die Leistung bei der seltenen positiven Klasse ehrlicher ab.
Die passende Metrik auswählen
Verwenden Sie F1 oder average precision für unausgeglichene Probleme. Verwenden Sie ROC AUC für die Qualität des Rankings bei ausgewogenen Daten. Wählen Sie precision, wenn Fehlalarme problematisch sind, und recall, wenn übersehene Fälle problematisch sind. Legen Sie vor der Auswahl immer fest, was für Sie Priorität hat.
Schwellenwert abstimmen
Die meisten Metriken hängen vom Entscheidungsschwellenwert ab (Standardwert 0.5). Durch Verschieben des Schwellenwerts gehen Sie einen Kompromiss zwischen Precision und Recall ein. Verwenden Sie die PR-Kurve, um einen Schwellenwert auszuwählen, der Ihre fachlichen Anforderungen erfüllt.
import numpy as np
# pick threshold for at least 0.9 precision
idx = np.argmax(prec >= 0.9)
chosen = thresh[idx]
preds = (proba >= chosen).astype(int)Kurzer Test
Testen Sie Ihr Verständnis der Metriken.
Zusammenfassung
Zusammenfassung: Beginnen Sie mit der confusion_matrix. Precision bestraft Fehlalarme, Recall übersehene Fälle, und F1 bildet beide ausgewogen ab. roc_auc_score misst die Qualität des Rankings; average_precision_score und die PR-Kurve eignen sich besser für unausgeglichene Daten. Stimmen Sie den Schwellenwert auf Ihre Prioritäten ab.
Häufig gestellte Fragen
Ist die Lektion „Klassifikationsmetriken im Detail“ kostenlos?
Ja — der vollständige Text von „Klassifikationsmetriken im Detail“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Klassifikationsmetriken im Detail“?
Konfusionsmatrix, Precision, Recall, F1, ROC-AUC und PR-Kurve – die richtige Metrik auswählen. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Learn AI with Python zu starten?
Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Klassifikationsmetriken im Detail“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?
Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Strategien für Cross-Validation
- Klassifikationsmetriken im Detail
- Grid Search und Random Search
- Bayessche Optimierung mit Optuna