Wprowadzenie
ROC-AUC Curve (Receiver Operating Characteristic – Area Under the Curve) to jedna z najpopularniejszych i najbardziej wszechstronnych metryk oceny modeli klasyfikacji binarnej. Pokazuje, jak dobrze model potrafi rozróżniać klasy pozytywne i negatywne przy różnych progach decyzyjnych.
Co to jest krzywa ROC?
Krzywa ROC przedstawia zależność między True Positive Rate (TPR) (czułość) a False Positive Rate (FPR) (1 – specyficzność) dla różnych wartości progu klasyfikacji.
- TPR (Recall / Sensitivity) = TP / (TP + FN)
- FPR = FP / (FP + TN)
AUC – Area Under the Curve
AUC to pole powierzchni pod krzywą ROC. Wartość ta mieści się w zakresie 0.0 – 1.0:
- AUC = 1.0 → model idealny (idealna separacja klas)
- AUC = 0.5 → model losowy (brak zdolności predykcyjnej)
- AUC < 0.5 → model gorszy niż losowy (rzadko spotykane po odwróceniu predykcji)
Zalety metryki ROC-AUC
- Niezależna od progu decyzyjnego
- Odporna na niezbalansowane klasy (imbalanced data)
- Ma intuicyjną interpretację: prawdopodobieństwo, że losowo wybrany przykład pozytywny będzie miał wyższy score niż przykład negatywny
- Pozwala porównywać różne modele w sposób obiektywny
Kiedy używać ROC-AUC?
- Detekcja fraudów (fraud detection)
- Diagnostyka medyczna
- Klasyfikacja spamu
- Systemy rekomendacyjne (click prediction)
- Wszędzie tam, gdzie ważna jest zdolność rankingu, a nie konkretny próg
ROC-AUC vs Precision-Recall AUC
Przy mocno niezbalansowanych danych (np. 1% klasy pozytywnej) lepiej sprawdza się PR-AUC (Precision-Recall Curve), ponieważ ROC-AUC może dawać optymistyczne wyniki.
Jak interpretować wykres?
- Krzywa bliżej lewego górnego rogu = lepszy model
- Diagonalna linia (AUC=0.5) = losowe zgadywanie
- Możliwość wizualnego porównania wielu modeli na jednym wykresie
Aktualny status (2026)
ROC-AUC nadal pozostaje standardem de facto w ocenie modeli klasyfikacji binarnej, szczególnie w przemyśle i badaniach naukowych. Mimo rozwoju bardziej zaawansowanych metryk (np. Balanced Accuracy, Matthews Correlation Coefficient, Log Loss), ROC-AUC jest uniwersalny i łatwy do interpretacji. Nowoczesne frameworki (scikit-learn, XGBoost, LightGBM, PyTorch) oferują wbudowane, zoptymalizowane funkcje do obliczania ROC-AUC nawet na bardzo dużych zbiorach danych.