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

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir