Tự động hóa quy trình mô hình hóa

Mô hình hóa với tidymodels trong R

David Svancer

Data Scientist

Tối ưu quy trình

Hàm last_fit()

  • Hỗ trợ cả mô hình phân loại
  • Tăng tốc quy trình mô hình hóa
  • Fit mô hình trên dữ liệu huấn luyện và dự đoán trên dữ liệu kiểm tra

 

Tương tự fit(), các bước đầu gồm:

  • Tạo đối tượng chia dữ liệu với rsample
  • Chỉ định mô hình với parsnip
leads_split <- initial_split(leads_df, 
                             strata = purchased)

logistic_model <- logistic_reg() %>% set_engine('glm') %>% set_mode('classification')
Mô hình hóa với tidymodels trong R

Fit mô hình và thu thập chỉ số

Hàm last_fit()

  • Đối tượng mô hình parsnip
  • Công thức mô hình
  • Đối tượng chia dữ liệu

 

Hàm collect_metrics() tính chỉ số trên tập kiểm tra

  • Mặc định: Accuracy và ROC AUC
logistic_last_fit <- logistic_model %>% 
  last_fit(purchased ~ total_visits + total_time,
           split = leads_split)

logistic_last_fit %>% collect_metrics()

 

# A tibble: 2 x 3
  .metric  .estimator .estimate
  <chr>      <chr>       <dbl>
1 accuracy   binary      0.759
2 roc_auc    binary      0.763
Mô hình hóa với tidymodels trong R

Thu thập dự đoán

collect_predictions()

  • Tạo tibble với đủ cột cho các hàm yardstick
  • Nhãn thật và dự đoán trên tập kiểm tra
  • Các cột xác suất ước tính cho mọi lớp đầu ra
last_fit_results <- logistic_last_fit %>% 
  collect_predictions()
last_fit_results
# A tibble: 332 x 6
   id             .pred_yes .pred_no .row .pred_class purchased
   <chr>            <dbl>    <dbl>   <int>   <fct>      <fct>
 1 train/test split  0.134    0.866     2      no        no
 2 train/test split  0.729    0.271    17      yes       yes
 3 train/test split  0.133    0.867    21      no        no
 4 train/test split  0.0916   0.908    22      no        no
 5 train/test split  0.598    0.402    24      yes       yes
# ... with 327 more rows
Mô hình hóa với tidymodels trong R

Bộ chỉ số tùy chỉnh

Hàm metric_set()

  • accuracy(), sens(), và spec()
    • Cần đối số truthestimate
  • roc_auc()
    • Cần truth và cột xác suất ước tính

 

Hàm custom_metrics() sẽ cần cả ba, với .pred_yes là đối số cuối

custom_metrics <- metric_set(accuracy, sens,
                             spec, roc_auc)
custom_metrics(last_fit_results,
               truth = purchased,
               estimate = .pred_class,
               .pred_yes)
# A tibble: 4 x 3
  .metric  .estimator .estimate
  <chr>    <chr>          <dbl>
1 accuracy binary         0.759
2 sens     binary         0.617
3 spec     binary         0.840
4 roc_auc  binary         0.763
Mô hình hóa với tidymodels trong R

Hãy thực hành!

Mô hình hóa với tidymodels trong R

Preparing Video For Download...