ROC Eğrisi Nasıl Oluşturulur?
ROC eğrisi, modelin her örnek için ürettiği olasılık skoruna farklı karar eşikleri (threshold) uygulanarak elde edilen TPR-FPR çiftlerinin grafiğe işlenmesiyle oluşturulur. Eşik değeri 1'den 0'a doğru düşürüldükçe model daha çok örneği pozitif olarak sınıflandırır: TPR artar ancak FPR de yükselir. En iyi model, TPR'yi mümkün olduğunca yüksek tutarken FPR'yi düşük tutan eğriye sahiptir; bu eğri sol üst köşeye yaklaştıkça AUC 1.0'a yaklaşır. Diagonal (köşegen) çizgi, AUC = 0.5 olan rastgele sınıflandırıcıyı temsil eder; iyi bir model bu çizginin belirgin biçimde üstünde kalmalıdır.
AUC Değeri Yorumlama Rehberi
- check_circle AUC = 1.0: Mükemmel Sınıflandırıcı: Model tüm pozitif ve negatif örnekleri hatasız ayırt eder. Gerçek dünya verilerinde bu değer genellikle veri sızıntısını (data leakage) işaret eder; dikkatli inceleme gerektirir.
- check_circle AUC 0.9-1.0: Üstün Performans: Model ayrımcılık gücü mükemmele yakındır. Tıbbi tanı sistemleri ve finans uygulamaları bu aralığı hedefler.
- check_circle AUC 0.8-0.9: İyi Performans: Çoğu üretim modeli için kabul edilebilir üst seviye. Pratikte bu aralık, modelin ticarileşmeye hazır olduğuna işaret eder.
- check_circle AUC 0.7-0.8: Kabul Edilebilir: Model işlevsel ama iyileştirme payı var. Özellik mühendisliği veya hiperparametre ayarıyla bu aralıktan çıkılabilir.
- check_circle AUC ≈ 0.5: Rastgele Tahmin: Model hiçbir ayırt etme gücüne sahip değildir. Bu, modelin yetersiz kaldığını ya da özelliklerin hedef değişkenle ilişkisiz olduğunu gösterir.
Dengesiz Veri Setlerinde ROC-AUC
Dolandırıcılık tespiti, nadir hastalık tanısı veya ağ saldırısı tespiti gibi problemlerde pozitif sınıf toplam örneklerin küçük bir bölümünü oluşturur. Bu durumda doğruluk (accuracy) tamamen negatif tahmin yaparak bile yüksek görünebilir. ROC-AUC ise her eşikte hem pozitif hem negatif sınıfın performansını birlikte değerlendirdiğinden sınıf dengesizliğinden etkilenmez. Yine de pozitif sınıf çok küçüldükçe (yüzde birin altı) Precision-Recall AUC'un daha bilgilendirici olabileceği durumlar ortaya çıkabilir.
ROC-AUC ve Precision-Recall Karşılaştırması
ROC-AUC tüm eşik değerlerindeki TPR-FPR dengesini ölçerken, Precision-Recall AUC (PR-AUC) precision ile recall arasındaki dengeyi ölçer. İkisi birbiriyle tamamlayıcıdır: sınıf dengesi makul olduğunda ROC-AUC yeterlidir; ancak pozitif sınıf çok küçükse ya da yanlış pozitifin maliyeti çok yüksekse PR-AUC daha güvenilir bir seçimdir. Örneğin, bir spam filtresi için PR-AUC; genel kanser tarama testi için ROC-AUC daha uygun tercih olacaktır. İki metriği birlikte raporlamak model değerlendirmesini en kapsamlı biçimde sunar.
Python ile Hesaplama
Scikit-learn kütüphanesiyle ROC-AUC hesaplamak birkaç satır kod gerektirir. roc_auc_score(y_true, y_score) fonksiyonu doğrudan AUC skorunu döndürür; roc_curve(y_true, y_score) ise FPR, TPR ve eşik değerlerini listeler, bu listeler matplotlib ile görselleştirilebilir. Çok sınıflı problemlerde multi_class='ovr' (One-vs-Rest) veya 'ovo' (One-vs-One) parametresi eklenerek makro veya ağırlıklı AUC hesaplanabilir. Gradient boosting modelleri genellikle lojistik regresyon veya karar ağaçlarına kıyasla daha yüksek ROC-AUC değerleri üretir.
Sık Sorulan Sorular
- check_circle AUC neden tek bir eşik değeri seçmekten daha iyidir?: Farklı uygulamalar farklı eşik değerleri gerektirebilir. AUC, modelin tüm olası eşikler genelindeki ayırt etme gücünü özetlediğinden eşiksiz ve nesnel bir karşılaştırma sağlar.
- check_circle ROC-AUC çok sınıflı problemlerde kullanılabilir mi?: Evet. Makro veya ağırlıklı One-vs-Rest ya da One-vs-One stratejisiyle her sınıf için ikili AUC hesaplanıp ortalaması alınır. Scikit-learn bu işlemi otomatik yapar.
- check_circle Yüksek AUC her zaman iyi model anlamına mı gelir?: Mutlaka değil. Veri sızıntısı, aşırı öğrenme (overfitting) veya test-eğitim setinin yanlış ayrılması durumlarında AUC yapay yüksek görünebilir. Çapraz doğrulama (cross-validation) bu riski azaltır.
- check_circle ROC-AUC ile logloss arasındaki fark nedir?: AUC yalnızca sıralamanın doğruluğunu (discrimination) ölçerken logloss (binary cross-entropy) olasılık tahminlerinin kalibrasyonunu da değerlendirir. İyi ayarlanmış modeller her iki metrikte de iyi sonuç verir.
- check_circle Hangi durumlarda PR-AUC ROC-AUC'tan daha uygun bir metriktir?: Pozitif sınıfın yüzde bir veya altında olduğu çok dengesiz veri setlerinde PR-AUC daha bilgilendiricidir. Bu tür veri setlerinde ROC-AUC iyi görünen ama gerçekte az sayıda pozitifi tespit eden modeli olduğundan iyi gösterebilir.