Nhiều thước đo mô hình hơn

Machine Learning với Mô hình Dựa trên Cây trong R

Sandro Raabe

Data Scientist

Giới hạn của accuracy

 

  • Mô hình “ngây thơ” luôn dự đoán no có thể đạt 98% accuracy

→ Có thể xảy ra với dữ liệu mất cân bằng có 98% mẫu âm

Machine Learning với Mô hình Dựa trên Cây trong R

Sensitivity hay true positive rate

  • Tỷ lệ trong tất cả trường hợp dương tính được phân loại đúng

ma trận nhầm lẫn hiển thị độ nhạy

Machine Learning với Mô hình Dựa trên Cây trong R

Specificity hay true negative rate

  • Tỷ lệ trong tất cả trường hợp âm tính được phân loại đúng

ma trận nhầm lẫn hiển thị true negative rate

Machine Learning với Mô hình Dựa trên Cây trong R

bảng cho các ngưỡng khác nhau

Machine Learning với Mô hình Dựa trên Cây trong R

Đường cong ROC (Receiver Operating Characteristic)

  • Trực quan hóa hiệu suất mô hình phân loại qua mọi ngưỡng

biểu đồ đường cong ROC

Machine Learning với Mô hình Dựa trên Cây trong R

Đường cong ROC và AUC

các đường cong ROC khác nhau

Machine Learning với Mô hình Dựa trên Cây trong R

Diện tích dưới đường cong ROC

biểu đồ AUC

  • AUC = 0.5
  • Hiệu quả không hơn ngẫu nhiên

 

  • AUC = 1
  • Phân loại đúng mọi ví dụ ở mọi ngưỡng → mô hình hoàn hảo

 

  • AUC = 0
  • Mọi ví dụ đều bị phân loại sai
Machine Learning với Mô hình Dựa trên Cây trong 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
# Tính độ nhạy tại một ngưỡng
sens(predictions, 
     estimate = .pred_class, 
     truth = true_class)
# A tibble: 1 x 2
  .metric        .estimate
  <chr>              <dbl>
1 sensitivity        0.872
  • Tham số tương tự accuracy()conf_mat()
Machine Learning với Mô hình Dựa trên Cây trong R

yardstick ROC: roc_curve()

# Dự đoán xác suất trên tập kiểm tra
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ính đường cong ROC cho mọi ngưỡng
roc <- roc_curve(predictions,

estimate = .pred_yes,
truth = still_customer)
# Vẽ đường cong ROC autoplot(roc)

đường cong roc

Machine Learning với Mô hình Dựa trên Cây trong R

yardstick AUC: roc_auc()

  • Tham số giống nhau: dữ liệu, cột dự đoán, cột nhãn đúng
# Tính diện tích dưới đường cong
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 với Mô hình Dựa trên Cây trong R

Hãy đo lường!

Machine Learning với Mô hình Dựa trên Cây trong R

Preparing Video For Download...