Confusion Matrix
Eine Tabelle, die zeigt wie oft ein Klassifikationsmodell richtig und falsch lag – aufgeschlüsselt nach True/False Positives und Negatives.
Die drei wichtigsten Metriken zur Bewertung von Klassifikationsmodellen – Precision misst Genauigkeit, Recall misst Vollständigkeit, F1 kombiniert beide.
Precision, Recall und F1-Score sind die drei wichtigsten Metriken für Klassifikationsmodelle – und deutlich aussagekräftiger als einfache Accuracy. Sie sind besonders relevant bei unausgewogenen Datensätzen: Ein Betrugserkennungs-Modell, das immer “kein Betrug” vorhersagt, hat 99% Accuracy, aber 0% Recall für Betrug. Precision misst, wie präzise die positiven Vorhersagen sind. Recall misst, wie viele der tatsächlich positiven Fälle gefunden wurden.
Precision = TP / (TP + FP) → "Wie präzise sind meine Treffer?"
Recall = TP / (TP + FN) → "Wie viele habe ich gefunden?"
F1 = 2 × (P × R) / (P + R) → "Balance aus beiden"
Suchmaschinen-Beispiel:
Precision = 6/8 = 75% (6 von 8 Ergebnissen sind relevant)
Recall = 6/10 = 60% (6 von 10 relevanten wurden gefunden)
F1 = 2 × (0.75 × 0.60) / (0.75 + 0.60) = 66.7%
Precision und Recall stehen oft im Konflikt:
| Situation | Wichtigste Metrik |
|---|---|
| Balanced Dataset | F1-Score |
| Imbalanced Dataset | Precision-Recall AUC |
| Kosten für FP hoch | Precision |
| Kosten für FN hoch | Recall |
| Ranking-Aufgaben | Average Precision (AP) |
Die PR-Kurve zeigt den Trade-off bei verschiedenen Schwellwerten:
from sklearn.metrics import precision_score, recall_score, f1_score
from sklearn.metrics import classification_report
y_true = [1, 0, 1, 1, 0, 1, 0, 0, 1, 0]
y_pred = [1, 0, 1, 0, 0, 1, 1, 0, 1, 0]
print(f"Precision: {precision_score(y_true, y_pred):.2f}")
print(f"Recall: {recall_score(y_true, y_pred):.2f}")
print(f"F1-Score: {f1_score(y_true, y_pred):.2f}")
# Detaillierter Report
print(classification_report(y_true, y_pred))
F1 gewichtet Precision und Recall gleich. F-Beta erlaubt andere Gewichtungen:
F_β = (1 + β²) × (Precision × Recall) / (β² × Precision + Recall) Ein Arzt mit hoher Precision stellt selten Fehldiagnosen. Ein Arzt mit hohem Recall übersieht selten eine Krankheit. Der ideale Arzt hat beides – das ist ein hoher F1-Score.
Precision: Von allen positiven Vorhersagen – wie viele waren korrekt?
Recall: Von allen tatsächlich positiven Fällen – wie viele wurden gefunden?
F1-Score: Harmonisches Mittel von Precision und Recall – Balance beider Metriken
Information Retrieval
Suchmaschinen: Precision = relevante Ergebnisse, Recall = alle relevanten gefunden
Medizin
Hoher Recall kritisch: Keine Krankheit übersehen (auch wenn mehr Fehlalarme)
RAG-Evaluation
Retrieval-Precision: Wie relevant sind die gefundenen Chunks?
Wenn Fehlalarme teuer sind: Spam-Filter (wichtige Mail im Spam), Empfehlungssysteme (irrelevante Empfehlungen nerven).
Wenn Übersehen teuer ist: Krebs-Screening (Krankheit nicht erkennen), Sicherheitssysteme (Bedrohung übersehen).
Micro-Averaging behandelt alle Samples gleich (gut bei Klassenungleichgewicht). Macro-Averaging mittelt über alle Klassen (jede Klasse zählt gleich). Bei stark unbalancierten Daten können beide Werte sehr unterschiedlich sein.
Bei 99% negativen Samples erreicht ein Modell, das immer 'negativ' sagt, 99% Accuracy – obwohl es nutzlos ist. Precision und Recall zeigen das wahre Bild: 0% Recall für die positive Klasse.