Sınıflandırma: ROC ve AUC

Önceki bölümde, tümü tek bir sınıflandırma eşiği değerinde hesaplanan bir dizi model metriği sunulmuştur. Ancak bir modelin kalitesini tüm olası eşiklerde değerlendirmek istiyorsanız farklı araçlara ihtiyacınız vardır.

Alıcı çalışma özelliği eğrisi (ROC)

ROC eğrisi, tüm eşiklerde model performansının görsel bir temsilidir. Adın uzun versiyonu olan alıcı çalışma özelliği, 2. Dünya Savaşı'ndaki radar algılamasından kalma bir terimdir.

ROC eğrisi, mümkün olan her eşikte (pratikte, seçilen aralıklarda) gerçek pozitif oranı (TPR) ve yanlış pozitif oranı (FPR) hesaplanarak ve ardından TPR'nin FPR'ye göre grafiği çizilerek oluşturulur. Belirli bir eşikte TPR'si 1,0 ve FPR'si 0, 0 olan mükemmel bir model, diğer tüm eşikler yoksayılırsa (0, 1) noktasında bir noktayla veya aşağıdakilerle temsil edilebilir:

1. şekil Mükemmel bir modelin performansını gösteren FPR (x ekseni) ve TPR (y ekseni) grafiği: (0,1) ile (1,1) arasındaki bir çizgi.
1. şekil Varsayımsal mükemmel bir modelin ROC ve AUC değerleri.

Eğri altı alan (AUC)

ROC eğrisinin altındaki alan (AUC), rastgele seçilen bir pozitif ve negatif örnek verildiğinde modelin pozitif örneği negatiften daha yüksek bir sıralamaya yerleştirme olasılığını temsil eder.

Kenar uzunluğu 1 olan bir kare içeren yukarıdaki mükemmel modelin eğri altında kalan alanı (AUC) 1,0'dur. Bu, modelin rastgele seçilen bir pozitif örneği rastgele seçilen bir negatif örnekten daha yüksek bir puanla doğru şekilde sıralama olasılığının% 100 olduğu anlamına gelir. Diğer bir deyişle, aşağıdaki veri noktalarının dağılımına bakıldığında AUC, modelin rastgele seçilen bir kareyi rastgele seçilen bir dairenin sağına yerleştirme olasılığını verir. Bu olasılık, eşiğin nerede ayarlandığından bağımsızdır.

Kaydırma çubuğu olmayan widget veri satırı

Daha somut bir ifadeyle, AUC değeri 1,0 olan bir spam sınıflandırıcı, rastgele bir spam e-postasına her zaman rastgele bir geçerli e-postaya kıyasla daha yüksek bir spam olma olasılığı atar. Her e-postanın gerçek sınıflandırması, seçtiğiniz eşiğe bağlıdır.

İkili sınıflandırıcılar için, rastgele tahminler veya bozuk para atma işlemi kadar iyi performans gösteren bir modelin ROC'si (0,0) ile (1,1) arasında diyagonal bir çizgidir. AUC 0, 5'tir ve rastgele bir pozitif ve negatif örneğin doğru sıralanmasıyla ilgili% 50 olasılığı temsil eder.

Spam sınıflandırıcı örneğinde, AUC değeri 0,5 olan bir spam sınıflandırıcı, rastgele bir spam e-postasına rastgele bir meşru e-postaya kıyasla yalnızca yarı yarıya daha yüksek bir spam olma olasılığı atar.

2. şekil. Rastgele bir 50-50 tahmincinin performansını gösteren FPR (x-ekseni) ile TPR (y-ekseni) grafiği: (0,0) ile (1,1) arasındaki köşeli çizgi.
2. şekil. Tamamen rastgele tahminlerin ROC ve AUC değerleri.

(İsteğe bağlı, gelişmiş) Hassasiyet/geri çağırma eğrisi

AUC ve ROC, veri kümesi sınıflar arasında kabaca dengeli olduğunda modelleri karşılaştırmak için iyi çalışır. Veri kümesi dengesiz olduğunda hassasiyet-hatırlama eğrileri (PRC'ler) ve bu eğrilerin altındaki alan, model performansını karşılaştırmalı olarak daha iyi görselleştirmeye yardımcı olabilir. Hassasiyet/geri çağırma eğrileri, tüm eşiklerde hassasiyetin y ekseninde, geri çağırmanın ise x ekseninde gösterilmesiyle oluşturulur.

(0,1) ile (1,0) arasında aşağı doğru dışbükey eğri içeren hassasiyet/geri çağırma eğrisi örneği

Model ve eşik seçme için AUC ve ROC

AUC, veri kümesi kabaca dengeli olduğu sürece iki farklı modelin performansını karşılaştırmak için faydalı bir ölçümdür. Eğri altındaki alan ne kadar büyük olursa model de o kadar iyidir.

Şekil 3.a. AUC=0,65 olan bir modelin ROC/AUC grafiği. Şekil 3.b. AUC=0,93 olan bir modelin ROC/AUC grafiği.
3.şekil İki varsayımsal modelin ROC ve AUC değerleri. Daha yüksek AUC değerine sahip sağdaki eğri, iki modelden daha iyi olanı temsil eder.

ROC eğrisinde (0,1) değerine en yakın noktalar, belirli bir model için en iyi performans gösteren eşik aralığını temsil eder. Eşikler, Karıştırma matrisi ve Metrik seçimi ve değiş tokuş bölümlerinde belirtildiği gibi, seçtiğiniz eşik belirli kullanım alanı için en önemli metriğe bağlıdır. Aşağıdaki şemada A, B ve C noktalarını düşünün. Bu noktalar her biri bir eşiği temsil etmektedir:

4. şekil Eğrinin (0,1) noktasına en yakın olan dışbükey kısmında A, B ve C olarak etiketlenmiş üç noktayı gösteren AUC=0, 84 ROC eğrisi.
4. şekil Eşikleri temsil eden üç etiketli nokta.

Yanlış pozitifler (yanlış alarmlar) çok maliyetliyse TPR düşse bile A noktasındaki gibi daha düşük bir FPR sağlayan bir eşik seçmek mantıklı olabilir. Buna karşılık, yanlış pozitifler ucuz ve yanlış negatifler (bulunmayan gerçek pozitifler) çok pahalıysa TPR'yi en üst düzeye çıkaran C noktası için eşik tercih edilebilir. Maliyetler yaklaşık olarak eşdeğer ise B noktası, TPR ile FPR arasında en iyi dengeyi sunabilir.

Daha önce gördüğümüz verilerin ROC eğrisi aşağıda verilmiştir:

Alıştırma: Anlaşıp anlamadığınızı kontrol edin

Uygulamada ROC eğrileri, yukarıda verilen görsellere kıyasla çok daha düzensizdir. ROC eğrileri ve AUC değerleriyle temsil edilen aşağıdaki modellerden hangisi en iyi performansa sahiptir?
(0,0) noktasından (1,1) noktasına doğru yukarı ve ardından sağa doğru kıvrılan ROC eğrisi. Eğrinin AUC değeri 0,77'dir.
Bu model, en yüksek AUC'ye sahiptir ve en iyi performansa karşılık gelir.
Birkaç zikzak içeren, (0,0) ile (1,1) arasında yaklaşık olarak düz bir çizgi olan ROC eğrisi. Eğrinin AUC değeri 0,508'dir.
(0,0) noktasından (1,1) noktasına doğru zikzak çizen ROC eğrisi.
           Eğrinin AUC değeri 0,623'tür.
(0,0) noktasından (1,1) noktasına doğru sağa ve ardından yukarı doğru kavis çizen ROC eğrisi. Eğrinin AUC değeri 0,31'dir.
Aşağıdaki modellerden hangisi şanstan daha kötü performans gösteriyor?
(0,0) noktasından (1,1) noktasına doğru sağa ve ardından yukarı doğru kavis çizen ROC eğrisi. Eğrinin AUC değeri 0,32'dir.
Bu modelin AUC değeri 0,5'ten düşük.Bu, modelin şanstan daha kötü performans gösterdiği anlamına gelir.
Birkaç zikzak içeren, (0,0) ile (1,1) arasında yaklaşık olarak düz bir çizgi olan ROC eğrisi. Eğrinin AUC değeri 0,508'dir.
Bu model, şansa kıyasla biraz daha iyi performans gösteriyor.
(0,0) ile (1,1) arasında diyagonal bir doğru olan ROC eğrisi. Eğrinin AUC değeri 0,5'tir.
Bu model, şansla aynı performansı gösterir.
İki dik çizgiden oluşan ROC eğrisi: (0,0) ile (0,1) arasında dikey bir çizgi ve (0,1) ile (1,1) arasında yatay bir çizgi.
      Bu eğrinin AUC değeri 1,0'dur.
Bu, varsayımsal olarak mükemmel bir sınıflandırıcıdır.

(İsteğe bağlı, gelişmiş) Bonus soru

Önceki sorudaki şanstan daha kötü performans gösteren modelde, şanstan daha iyi performans göstermesi için aşağıdaki değişikliklerden hangisi yapılabilir?
Tahminleri tersine çevirin. Böylece 1 olan tahminler 0, 0 olan tahminler ise 1 olur.
Bir ikili sınıflandırıcı, örnekleri rastgele olmaktan daha sık yanlış sınıflara güvenilir bir şekilde yerleştiriyorsa sınıf etiketini değiştirmek, modeli yeniden eğitmek zorunda kalmadan tahminlerini rastgele olmaktan daha iyi hale getirir.
Her zaman negatif sınıfı tahmin etmesini sağlayın.
Bu, performansı şansın ötesinde iyileştirebilir veya iyileştiremeyebilir. Ayrıca, Doğruluk bölümünde de belirtildiği gibi, bu model kullanışlı değildir.
Her zaman pozitif sınıfı tahmin etmesini sağlayın.
Bu, performansı şansın ötesinde iyileştirebilir veya iyileştiremeyebilir. Ayrıca, Doğruluk bölümünde de belirtildiği gibi, bu model kullanışlı değildir.

İşletmeniz açısından kritik bir e-postayı spam klasörüne göndermek yerine bazı spam e-postaların gelen kutusuna ulaşmasına izin vermenin daha iyi olduğu bir durum düşünün. Pozitif sınıfın spam, negatif sınıfın ise spam olmayan olduğu bu durum için bir spam sınıflandırıcı eğittiniz. Sınıflandırıcınızın ROC eğrisinde aşağıdaki noktalardan hangisi tercih edilir?

Eğrinin dışbükey kısmında (0,1) yakınında bulunan üç noktayı gösteren AUC=0,84 ROC eğrisi. A noktası yaklaşık olarak (0,25; 0,75) noktasındadır. B noktası yaklaşık olarak (0, 30; 0,90) noktasındadır ve FPR'yi en aza indirirken TPR'yi en üst düzeye çıkaran noktadır. C noktası yaklaşık olarak (0,4; 0,95) noktasındadır.
A noktası
Bu kullanım alanında, gerçek pozitifler de azalsa bile yanlış pozitifleri en aza indirmek daha iyidir.
B noktası
Bu eşik, gerçek pozitifler ile yanlış pozitifler arasında denge sağlar.
C noktası
Bu eşik, daha fazla yanlış pozitif (spam olarak işaretlenen daha fazla meşru e-posta) pahasına gerçek pozitifleri (daha fazla spam işareti) en üst düzeye çıkarır.