Lebih banyak metrik model

Machine Learning dengan Model Berbasis Pohon di R

Sandro Raabe

Data Scientist

Batasan akurasi

 

  • Model “naif” yang selalu memprediksi no bisa mencapai akurasi 98%

→ Mungkin terjadi pada data tidak seimbang dengan 98% sampel negatif

Machine Learning dengan Model Berbasis Pohon di R

Sensitivitas atau true positive rate

  • Proporsi semua hasil positif yang diklasifikasikan dengan benar

confusion matrix menyorot sensitivitas

Machine Learning dengan Model Berbasis Pohon di R

Spesifisitas atau true negative rate

  • Proporsi semua hasil negatif yang diklasifikasikan dengan benar

confusion matrix menyorot true negative rate

Machine Learning dengan Model Berbasis Pohon di R

tabel menunjukkan ambang berbeda

Machine Learning dengan Model Berbasis Pohon di R

Kurva ROC (Receiver Operating Characteristic)

  • Memvisualisasikan kinerja model klasifikasi di semua ambang

plot kurva ROC

Machine Learning dengan Model Berbasis Pohon di R

Kurva ROC dan AUC

berbagai kurva ROC

Machine Learning dengan Model Berbasis Pohon di R

Luas di bawah kurva ROC

plot AUC

  • AUC = 0,5
  • Kinerja tidak lebih baik dari acak

 

  • AUC = 1
  • Semua contoh diklasifikasikan benar pada setiap ambang → model sempurna

 

  • AUC = 0
  • Semua contoh salah klasifikasi
Machine Learning dengan Model Berbasis Pohon di R

yardstick sensitivity: 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
# Hitung sensitivitas untuk satu ambang
sens(predictions, 
     estimate = .pred_class, 
     truth = true_class)
# A tibble: 1 x 2
  .metric        .estimate
  <chr>              <dbl>
1 sensitivity        0.872
  • Argumen mirip dengan accuracy() dan conf_mat()
Machine Learning dengan Model Berbasis Pohon di R

yardstick ROC: roc_curve()

# Prediksi probabilitas pada test set
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    ...
 ...
# Hitung kurva ROC untuk semua ambang
roc <- roc_curve(predictions,

estimate = .pred_yes,
truth = still_customer)
# Plot kurva ROC autoplot(roc)

kurva roc

Machine Learning dengan Model Berbasis Pohon di R

yardstick AUC: roc_auc()

  • Argumen sama: data, kolom prediksi, kolom kebenaran
# Hitung luas di bawah kurva
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
Machine Learning dengan Model Berbasis Pohon di R

Ayo berlatih!

Machine Learning dengan Model Berbasis Pohon di R

Preparing Video For Download...