Python'da hassas geri çağırma eğrisi nasıl oluşturulur
Makine öğreniminde sınıflandırma modellerini kullanırken model kalitesini değerlendirmek için sıklıkla kullandığımız iki ölçüm hassasiyet ve hatırlamadır.
Doğruluk : Pozitif tahminleri toplam pozitif tahminlere göre düzeltin.
Bu şu şekilde hesaplanır:
- Doğruluk = Gerçek Pozitifler / (Gerçek Pozitifler + Yanlış Pozitifler)
Hatırlatma : Pozitif tahminlerin toplam gerçek pozitiflere göre düzeltilmesi
Bu şu şekilde hesaplanır:
- Hatırlatma = Doğru Pozitifler / (Doğru Pozitifler + Yanlış Negatifler)
Belirli bir modelin hassasiyetini ve geri çağrılmasını görselleştirmek için bir hassasiyet-geri çağırma eğrisi oluşturabiliriz. Bu eğri, farklı eşikler için kesinlik ve geri çağırma arasındaki dengeyi gösterir.
Aşağıdaki adım adım örnek, Python’da bir lojistik regresyon modeli için hassas geri çağırma eğrisinin nasıl oluşturulacağını gösterir.
1. Adım: Paketleri içe aktarın
İlk önce gerekli paketleri içe aktaracağız:
from sklearn import datasets from sklearn. model_selection import train_test_split from sklearn. linear_model import LogisticRegression from sklearn. metrics import precision_recall_curve import matplotlib. pyplot as plt
Adım 2: Lojistik regresyon modelini yerleştirin
Daha sonra bir veri kümesi oluşturacağız ve buna lojistik regresyon modelini yerleştireceğiz:
#create dataset with 5 predictor variables
X, y = datasets. make_classification (n_samples= 1000 ,
n_features= 4 ,
n_informative= 3 ,
n_redundant= 1 ,
random_state= 0 )
#split dataset into training and testing set
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size= .3 , random_state= 0 )
#fit logistic regression model to dataset
classifier = LogisticRegression()
classify. fit (X_train, y_train)
#use logistic regression model to make predictions
y_score = classify. predict_proba (X_test)[:, 1 ]
3. Adım: Hassasiyet geri çağırma eğrisini oluşturun
Daha sonra modelin hassasiyetini ve geri çağrılmasını hesaplayıp bir hassasiyet-geri çağırma eğrisi oluşturacağız:
#calculate precision and recall
precision, recall, thresholds = precision_recall_curve(y_test, y_score)
#create precision recall curve
fig, ax = plt. subplots ()
ax. plot (recall, precision, color=' purple ')
#add axis labels to plot
ax. set_title (' Precision-Recall Curve ')
ax. set_ylabel (' Precision ')
ax. set_xlabel (' Recall ')
#displayplot
plt. show ()
X ekseni geri çağırmayı, y ekseni ise farklı eşikler için hassasiyeti gösterir.
Hatırlama arttıkça kesinliğin azaldığını unutmayın.
Bu, iki ölçüm arasındaki uzlaşmayı temsil eder. Modelimizin hatırlanabilirliğini artırmak için hassasiyetin azalması veya bunun tersinin olması gerekir.
Ek kaynaklar
Python’da Lojistik Regresyon Nasıl Gerçekleştirilir
Python’da Karışıklık Matrisi Nasıl Oluşturulur
ROC Eğrisi Nasıl Yorumlanır (Örneklerle)