Python'da sklearn kullanılarak dengeli hassasiyet nasıl hesaplanır
Dengeli doğruluk, bir sınıflandırma modelinin performansını değerlendirmek için kullanabileceğimiz bir ölçümdür.
Aşağıdaki şekilde hesaplanır:
Dengeli Doğruluk = (Hassasiyet + Özgünlük) / 2
Altın:
- Hassasiyet : “Gerçek pozitif oran” – modelin tespit edebildiği pozitif vakaların yüzdesi.
- Özgüllük : “Gerçek negatif oran” – modelin tespit edebildiği negatif vakaların yüzdesi.
Bu ölçüm özellikle iki sınıf dengesiz olduğunda, yani bir sınıfın diğerinden çok daha fazla göründüğü durumlarda kullanışlıdır.
Örneğin, bir spor analistinin 400 farklı üniversite basketbol oyuncusunun NBA’e alınıp alınmayacağını tahmin etmek için lojistik regresyon modeli kullandığını varsayalım.
Aşağıdaki karışıklık matrisi, modelin yaptığı tahminleri özetlemektedir:
Modelin dengeli doğruluğunu hesaplamak için öncelikle duyarlılığı ve özgüllüğü hesaplayacağız:
- Hassasiyet : “Gerçek pozitif oran” = 15 / (15 + 5) = 0,75
- Özgüllük : “Gerçek negatif oran” = 375 / (375 + 5) = 0,9868
Daha sonra dengeli hassasiyeti aşağıdaki gibi hesaplayabiliriz:
- Dengeli Doğruluk = (Hassasiyet + Özgüllük) / 2
- Dengeli doğruluk = (0,75 + 9868) / 2
- Dengeli doğruluk = 0,8684
Modelin dengeli doğruluğu 0,8684 olarak çıkıyor.
Aşağıdaki örnek, Python’daki sklearn kütüphanesindeki Balanced_accuracy_score() işlevini kullanarak bu özel senaryo için dengeli doğruluğun nasıl hesaplanacağını gösterir.
Örnek: Python’da Dengeli Hassasiyetin Hesaplanması
Aşağıdaki kod, tahmin edilen sınıfların bir dizisinin ve gerçek sınıfların bir dizisinin nasıl tanımlanacağını ve ardından Python’da bir modelin dengeli doğruluğunun nasıl hesaplanacağını gösterir:
import numpy as np from sklearn. metrics import balanced_accuracy_score #define array of actual classes actual = np. repeat ([1, 0], repeats=[20, 380]) #define array of predicted classes pred = np. repeat ([1, 0, 1, 0], repeats=[15, 5, 5, 375]) #calculate balanced accuracy score balanced_accuracy_score(actual, pred) 0.868421052631579
Dengeli hassasiyet 0,8684’tür . Bu, daha önce manuel olarak hesapladığımız değerle eşleşiyor.
Not : Balanced_accuracy_score() işlevine ilişkin tüm belgeleri burada bulabilirsiniz.
Ek kaynaklar
Dengeli Doğruluğa Giriş
Python’da Lojistik Regresyon Nasıl Gerçekleştirilir
Python’da F1 puanı nasıl hesaplanır