Area Under the Curve (AUC)
AUC, ROC eğrisini 0 ile 1 arasında tek bir skora dönüştürür: sınıflandırıcının rastgele seçilen bir pozitife rastgele seçilen bir negatiften daha yüksek puan verme olasılığı. ROC AUC ile PR AUC karşılaştırması ve kod.
Eğri altındaki alan (AUC), ikili bir sınıflandırıcının olası tüm karar eşiklerinde iki sınıfı ne kadar iyi ayırdığını özetleyen bir ölçüttür. Makine öğrenmesinde AUC, neredeyse her zaman alıcı işletim karakteristiği (ROC) eğrisi altındaki alan anlamına gelir; ROC AUC veya AUROC olarak da yazılır. Değeri, modelin rastgele seçilmiş bir pozitif örneğe rastgele seçilmiş bir negatif örnekten daha yüksek puan verme olasılığına eşittir. AUC'nin 1,0 olması her pozitif örneğin her negatif örneği geride bıraktığı, 0,5 olması sıralamanın şanstan iyi olmadığı, 0,5'in altındaki değerler ise sıralamanın tersine döndüğü anlamına gelir. AUC yalnızca puanların sıralamasına bağlı olduğundan, herhangi biri eşik seçmeden önce bir modeli değerlendirir. Bu özellik AUC'yi tıbbi tanı modelleri, kredi puanlama ve dolandırıcılık tespiti için standart bir ölçüt haline getirir.
AUC Nasıl Hesaplanır#
ROC eğrisi, karar eşiği en yüksek puandan en düşüğe doğru değişirken, duyarlılık olan doğru pozitif oranını yanlışlıkla işaretlenen negatiflerin oranı olan yanlış pozitif oranına karşı çizer. Tüm puanların üzerindeki bir eşik hiçbir şeyi işaretlemez ve (0, 0) noktasında yer alır; tüm puanların altındaki bir eşik ise her şeyi işaretler ve (1, 1) noktasında yer alır. AUC, bu noktaların tümünü birleştiren doğrunun altındaki alandır ve genellikle trapez yöntemiyle hesaplanır.
Aynı değer çiftleri sayarak da elde edilir. Her pozitif örneği her negatif örnekle karşılaştırıp pozitif örnek daha üst sıradaysa çifte 1, beraberlikte 0,5, aksi durumda 0 puan vermek tam olarak ROC AUC'yi verir. İstatistikçiler bunu normalize edilmiş Mann-Whitney U istatistiği, tıp araştırmacıları ise uyum veya c-istatistiği olarak bilir. Kredi riski ekipleri bunun yerine çoğu zaman AUC × 2 − 1 değerine eşit olan Gini katsayısını raporlar.
İkili karşılaştırma yaklaşımı AUC'nin temel özelliklerini açıklar. Olasılıkların karesini alma veya ikili sınıflandırıcının logit değerlerine sıcaklık ölçeklemesi uygulama gibi puanların sıralamasını koruyan her dönüşüm AUC'yi değiştirmez. Bu nedenle bir modelin AUC'si mükemmelken olasılıkları kötü kalibre edilmiş olabilir. Kalibrasyon için Brier puanı gibi ayrı bir ölçüt gerekir.
Dengesiz Verilerde ROC AUC ve PR AUC#
Doğru pozitif oranı yalnızca pozitifler, yanlış pozitif oranı ise yalnızca negatifler üzerinden hesaplandığından ROC AUC sınıf oranına bağlı değildir. Pozitif örnekler seyrek olduğunda bu özellik bir zayıflığa dönüşür. 100 örnekte 1 pozitif varken %5'lik yanlış pozitif oranı, her gerçek pozitif için yaklaşık beş yanlış alarm üretir ama ROC eğrisini çok az etkiler. Kesinlik-duyarlılık eğrisi altındaki alan (PR AUC), genellikle ortalama kesinlikle (AP) özetlenir; kesinliği duyarlılığa göre çizer ve yanlış alarmları doğrudan gösterir. Bu nedenle dengesiz verilerde ROC eğrisinden daha bilgilendiricidir. Aşağıdaki scikit-learn betiği bir modeli iki yöntemle puanlar:
from sklearn.datasets import make_classification
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import average_precision_score, roc_auc_score
from sklearn.model_selection import train_test_split
# Imbalanced binary problem: 1 positive per 100 samples
X, y = make_classification(n_samples=20_000, weights=[0.99], flip_y=0, random_state=0)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, stratify=y, random_state=0)
# Score the test set with a simple classifier
model = LogisticRegression(max_iter=1000).fit(X_train, y_train)
scores = model.predict_proba(X_test)[:, 1]
# The same scores summarized by the areas under two different curves
print(f"Positives in test set: {y_test.sum()} of {len(y_test)}")
print(f"ROC AUC: {roc_auc_score(y_test, scores):.3f}")
print(f"PR AUC (average precision): {average_precision_score(y_test, scores):.3f}")10.000 test örneği içinde 100 pozitif örnek varken modelin ROC AUC değeri 0,911'e ulaşırken ortalama kesinliği yalnızca 0,462'dir. İki değerin başlangıç noktaları da farklıdır: rastgele bir sıralama sınıf dengesinden bağımsız olarak 0,5 ROC AUC alırken, ortalama kesinliği pozitif örnek oranına eşittir; burada bu oran 0,01'dir.
Çok Sınıflı AUC ve Nesne Algılama#
ROC AUC iki sınıf için tanımlıdır. Daha fazla sınıf olduğunda scikit-learn'ün roc_auc_score işlevi, her sınıfın diğerlerine karşı puanlandığı bire karşı diğerleri AUC'lerini veya tüm sınıf çiftleri üzerinden bire karşı bir AUC'lerini makro ya da yaygınlığa göre ağırlıklandırılmış biçimde ortalar.
Nesne algılama ROC eğrilerini kullanamaz; çünkü negatif örnekler, nesne içermeyen tüm kutu konumlarıdır ve bu küme fiilen sınırsız olduğundan anlamlı bir yanlış pozitif oranı hesaplanamaz. Algılama ölçütleri bunun yerine kesinlik-duyarlılık eğrilerinin altındaki alanları kullanır. Ultralytics'teki YOLO26 doğrulaması, her sınıfın ortalama kesinliğini kesinlik-duyarlılık zarfının altındaki alan olarak hesaplar; COCO değerlendirmesinde olduğu gibi 101 duyarlılık noktasında örnekleme yapar ve bu alanların ortalamasını ortalama ortalama kesinlik (mAP) olarak hesaplar. Hesaplama, 0,50 ile 0,95 arasındaki IoU eşiklerinde yapılır.
AUC ve İlgili Terimler#
- Doğruluk: Tek bir eşikteki doğru tahminleri ölçer. Dengesiz verilerde tüm pozitifleri kaçırdığı halde çok yüksek görünebilir. AUC ise tüm eşiklerdeki sıralamayı ölçer.
- F1 puanı: Tek bir eşikteki kesinlik ve duyarlılığı birleştirir; dolayısıyla tek bir çalışma noktasını puanlarken AUC bunların tümünü özetler.
- Karışıklık matrisi: Tek bir eşikteki doğru ve yanlış pozitifleri ve negatifleri sayar. Her ROC noktası bir karışıklık matrisini iki oran çifti olarak özetler.
- Ortalama kesinlik: Kesinlik-duyarlılık eğrisinin altındaki alandır; pozitif örneklerin seyrek olduğu durumlarda kullanılan yaygın özet ölçüt ve mAP'nin temel bileşenidir.
- Kısmi AUC: Yalnızca 0 ile 0,1 arası gibi sınırlı bir yanlış pozitif aralığındaki alandır. Büyük tarama programlarında her yanlış alarmın takip muayenesini gerektirmesi gibi, yalnızca düşük yanlış alarm oranlarının kabul edilebilir olduğu durumlarda kullanılır.










