<EbeneX/>
Mathematik Grundlagen · Updated 11. März 2026

ROC Curve

Definition

Ein Diagramm zur Bewertung von Klassifikatoren – zeigt das Verhältnis von True Positive Rate zu False Positive Rate bei verschiedenen Schwellenwerten.

Fortgeschritten 1 Min. Lesezeit EN: Receiver Operating Characteristic Curve

Einfach erklärt

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

Technischer Deep Dive

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]

ROC ist wie ein Regler zwischen 'alles als positiv markieren' und 'nichts als positiv markieren'. Die Kurve zeigt, wie gut dein Modell bei jeder Einstellung ist.

X-Achse: False Positive Rate (FPR)

Y-Achse: True Positive Rate (TPR/Recall)

Perfektes Modell: Kurve geht zur oberen linken Ecke

Modellvergleich

Welches Modell ist besser?

Schwellenwert-Wahl

Optimalen Cutoff finden

Imbalanced Data

Robuster als Accuracy

Wann ROC vs. Precision-Recall?

ROC bei balancierten Klassen. Precision-Recall bei stark unbalancierten (z.B. Fraud Detection mit 0.1% Positiven).

Was bedeutet die Diagonale?

Zufälliges Raten. Alles darüber ist besser als Zufall, darunter schlechter.

Dein persönliches Share-Bild für Instagram – 1080×1080px, bereit zum Posten.