Daha fazla model ölçütü

R ile Ağaç Tabanlı Modellerle Machine Learning

Sandro Raabe

Data Scientist

Doğruluğun sınırları

 

  • noyu her zaman tahmin eden “naif” model %98 doğruluk alabilir

→ Negatif örneklerin %98 olduğu dengesiz veri kümesinde mümkündür

R ile Ağaç Tabanlı Modellerle Machine Learning

Duyarlılık (true positive rate)

  • Doğru sınıflanan tüm pozitif sonuçların oranı

duyarlılığı gösteren karmaşıklık matrisi

R ile Ağaç Tabanlı Modellerle Machine Learning

Özgüllük (true negative rate)

  • Doğru sınıflanan tüm negatif sonuçların oranı

true negative rate gösteren karmaşıklık matrisi

R ile Ağaç Tabanlı Modellerle Machine Learning

farklı eşikleri gösteren tablo

R ile Ağaç Tabanlı Modellerle Machine Learning

ROC (Receiver Operating Characteristic) eğrisi

  • Bir sınıflandırma modelinin tüm olası eşiklerdeki performansını görselleştirir

ROC eğrisi grafiği

R ile Ağaç Tabanlı Modellerle Machine Learning

ROC eğrisi ve AUC

farklı ROC eğrileri

R ile Ağaç Tabanlı Modellerle Machine Learning

ROC eğrisi altındaki alan (AUC)

AUC grafiği

  • AUC = 0.5
  • Rastgele şanstan daha iyi değil

 

  • AUC = 1
  • Her eşikte tüm örnekler doğru sınıflanır → kusursuz model

 

  • AUC = 0
  • Tüm örnekler yanlış sınıflanır
R ile Ağaç Tabanlı Modellerle Machine Learning

yardstick duyarlılık: sens()

predictions
# A tibble: 153 x 2
.pred_class   true_class
      <fct>        <fct>     
 1      yes           no        
 2       no           no        
 3       no          yes       
 4      yes          yes
# Tek eşikte duyarlılığı hesapla
sens(predictions, 
     estimate = .pred_class, 
     truth = true_class)
# A tibble: 1 x 2
  .metric        .estimate
  <chr>              <dbl>
1 sensitivity        0.872
  • accuracy() ve conf_mat() ile benzer argümanlar
R ile Ağaç Tabanlı Modellerle Machine Learning

yardstick ROC: roc_curve()

# Test kümesinde olasılıkları tahmin et
predictions <- predict(model,
                       data_test,

type = "prob") %>%
bind_cols(data_test)
# A tibble: 9,116 x 13
   .pred_yes still_customer age gender    ...
       <dbl> <fct>         <int> <fct>    ...
 1    0.0557 no               45 M        ...
 2    0.0625 no               49 F        ...
 3    0.330  no               51 M        ...
 4    ...
 ...
# Tüm eşikler için ROC eğrisini hesapla
roc <- roc_curve(predictions,

estimate = .pred_yes,
truth = still_customer)
# ROC eğrisini çiz autoplot(roc)

roc eğrisi

R ile Ağaç Tabanlı Modellerle Machine Learning

yardstick AUC: roc_auc()

  • Aynı argümanlar: veri, tahmin sütunu, gerçek sütun
# Eğri altındaki alanı hesapla
roc_auc(predictions, 
        estimate = .pred_yes, 
        truth = still_customer)
# A tibble: 1 x 3
  .metric .estimator .estimate
  <chr>   <chr>          <dbl>
1 roc_auc binary         0.872
R ile Ağaç Tabanlı Modellerle Machine Learning

Haydi ölçelim!

R ile Ağaç Tabanlı Modellerle Machine Learning

Preparing Video For Download...