Sofortantwort
ROC Curve einfach erklärt
Visualisiert Klassifikator-Performance über alle Schwellenwerte.
- Kurz gesagt
- X-Achse: False Positive Rate (FPR)
- Typischer Einsatz
- Modellvergleich, Schwellenwert-Wahl, Imbalanced Data
- Wichtig zu wissen
- Perfektes Modell: Kurve geht zur oberen linken Ecke
ROC Curve im Überblick
Die ROC Curve zeigt, wie gut ein Klassifikator zwischen Klassen unterscheidet.
TPR (True Positive Rate) = TP / (TP + FN) = Recall
FPR (False Positive Rate) = FP / (FP + TN)
1 │ ╭────────── Perfekt
│ ╱
TPR │ ╱ ← Gutes Modell
│ ╱
│╱.............. Zufall (Diagonale)
0 └─────────────────
0 1
FPR
Technisch betrachtet
ROC berechnen
from sklearn.metrics import roc_curve, roc_auc_score
import matplotlib.pyplot as plt
# Vorhersage-Wahrscheinlichkeiten
y_true = [0, 0, 1, 1, 1, 0, 1, 0]
y_scores = [0.1, 0.4, 0.35, 0.8, 0.7, 0.3, 0.9, 0.2]
# ROC Curve
fpr, tpr, thresholds = roc_curve(y_true, y_scores)
# Plot
plt.plot(fpr, tpr, label=f'AUC = {roc_auc_score(y_true, y_scores):.2f}')
plt.plot([0, 1], [0, 1], 'k--', label='Random')
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.legend()
Optimalen Threshold finden
# Youden's J statistic: maximiert TPR - FPR
j_scores = tpr - fpr
best_idx = np.argmax(j_scores)
best_threshold = thresholds[best_idx]
Wie die Kurve entsteht
Die ROC-Kurve ist keine Funktion des Modells allein, sondern des Rankings seiner Scores. Man sortiert alle Beispiele absteigend nach vorhergesagtem Score und senkt den Schwellenwert schrittweise: Jedes Mal, wenn ein tatsächlich positives Beispiel neu als positiv klassifiziert wird, steigt die Kurve nach oben (TPR wächst); bei einem negativen Beispiel wandert sie nach rechts (FPR wächst). Ein Modell mit perfektem Ranking – alle Positiven vor allen Negativen – erzeugt daher zuerst nur Aufwärtsschritte und erreicht die obere linke Ecke.
Daraus folgt eine wichtige Eigenschaft: Die ROC-Kurve ist invariant gegenüber monotonen Transformationen der Scores. Ob ein Modell kalibrierte Wahrscheinlichkeiten oder unkalibrierte Scores liefert, ändert die Kurve nicht – sie bewertet ausschließlich die Reihenfolge.
ROC vs. Precision-Recall-Kurve
| Aspekt | ROC-Kurve | Precision-Recall-Kurve |
|---|---|---|
| Achsen | FPR vs. TPR | Recall vs. Precision |
| Nutzt True Negatives? | Ja (in FPR) | Nein |
| Bei starker Klassen-Imbalance | Kann zu optimistisch wirken | Zeigt Schwächen deutlicher |
| Baseline | Diagonale (unabhängig von Klassenverteilung) | Horizontale auf Höhe des Positiv-Anteils |
| Typischer Einsatz | Ausgewogene Klassen, Modellvergleich | Seltene positive Klasse (Fraud, Anomalien) |
Der Grund für den Unterschied: Bei sehr vielen Negativen bleibt die FPR selbst dann klein, wenn absolut gesehen viele False Positives entstehen – die riesige Zahl an True Negatives im Nenner verdeckt das Problem. Precision reagiert direkt auf jede falsch-positive Vorhersage und ist deshalb bei seltenen positiven Klassen die ehrlichere Perspektive.
Threshold-Wahl ist eine Business-Entscheidung
Youden’s J behandelt beide Fehlerarten als gleich teuer – das ist selten realistisch. Bei einem medizinischen Screening ist ein übersehener Krankheitsfall (False Negative) meist gravierender als eine unnötige Nachuntersuchung (False Positive); beim automatischen Sperren von Nutzerkonten ist es umgekehrt. In solchen Fällen wählt man den Punkt auf der Kurve, der die gewichteten Kosten minimiert, oder fixiert eine der beiden Raten (z. B. „FPR darf höchstens x betragen”) und maximiert die andere.
Typische Fehler in der Praxis
- ROC auf harten Labels berechnen:
roc_curvebraucht Scores oder Wahrscheinlichkeiten (predict_proba), nicht die 0/1-Ausgabe vonpredict– sonst besteht die „Kurve” nur aus einem einzigen Punkt. - Threshold auf den Testdaten optimieren: Der Schwellenwert ist ein Hyperparameter und gehört auf einem Validierungsset bestimmt, nicht auf den finalen Testdaten.
- Kurven ohne Konfidenz vergleichen: Bei kleinen Testsets sind ROC-Kurven verrauscht; Kreuzvalidierung oder Bootstrapping zeigen, ob ein Unterschied stabil ist.
Schritt für Schritt
ROC-Kurven richtig in Entscheidungen übersetzen
Die ROC-Kurve bewertet die Trennfähigkeit eines Rankings über Schwellenwerte. Die Wahl einer produktiven Grenze bleibt eine fachliche und betriebliche Entscheidung.
Geeignete Scores und Testdaten verwenden
01
Die Kurve braucht kontinuierliche Modell-Scores auf unabhängigen, repräsentativen Daten – keine bereits harten Klassenlabels.
wahre Labels + Scores → ROC-PunkteKurve gegen Baseline vergleichen
02
Prüfe, wie stark das Modell positives und negatives Verhalten besser trennt als eine zufällige Reihenfolge.
TPR gegen FPR ↔ ZufallsdiagonaleKlassenverteilung berücksichtigen
03
Bei seltenen positiven Fällen ergänzt eine Precision-Recall-Perspektive die ROC-Sicht sinnvoll.
Imbalance → ROC + Precision-RecallSchwelle anhand von Fehlerfolgen wählen
04
Setze konkrete Grenzen für Fehlalarme oder übersehene Fälle und wähle einen Punkt, der zum Einsatzprozess passt.
Kosten / Kapazität → tolerierte Rate → SchwelleStabilität und Drift prüfen
05
Kurven und Schwellen werden über Zeit und relevante Segmente beobachtet, damit veränderte Daten nicht unbemerkt die Entscheidung verschieben.
neue Daten → Re-Evaluation → Anpassung
Konkretes Beispiel
Beispiel: Priorisierung von Qualitätsprüfungen
Ein Modell ordnet Fällen einen Score zu, damit ein begrenztes Team die auffälligsten zuerst prüfen kann.
Kapazitätsfrage
Wie viele Fehlalarme kann das Team bearbeiten, damit möglichst viele relevante Fälle früh erkannt werden?
Betriebliche Schwelle
Die ROC-Kurve zeigt mögliche Trade-offs, während die verfügbare Prüfkapazität und die Folgen übersehener Fälle die endgültige Schwelle bestimmen.
Die Kurve hilft beim Vergleich von Rankings; die korrekte Schwelle entsteht erst aus dem realen Prozess und seinen Fehlerkosten.
Einordnung
Vorteile und Grenzen
Das spricht dafür
- Schwellenübergreifender Vergleich: Die Trennfähigkeit verschiedener Modelle wird nicht auf eine Grenze reduziert.
- Klare Visualisierung: Die Beziehung zwischen erkannten positiven Fällen und Fehlalarmen wird sichtbar.
- Gute Ergänzung: ROC und AUC unterstützen frühe Modellvergleiche auf einheitlichen Testdaten.
Das solltest du beachten
- Keine Einsatzentscheidung allein: Die produktive Schwelle folgt nicht automatisch aus der Kurve.
- Bei seltenen Fällen begrenzt: Viele True Negatives können die False Positive Rate optisch harmlos wirken lassen.
- Keine Kalibrierungsaussage: Eine gute ROC-Kurve sagt nichts darüber, ob Scores verlässliche Wahrscheinlichkeiten sind.
Vertiefung · für FortgeschritteneVom Score-Ranking zur Schwellenentscheidung
Die ROC-Kurve zeichnet mögliche Entscheidungen ab; der Betrieb wählt daraus eine Grenze anhand von Konsequenzen und Kapazität.
True Positive Rate im Verhältnis zur False Positive Rate über viele Schwellenwerte.