Đánh giá hiệu suất mô hình

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

David Svancer

Data Scientist

Đầu vào cho các hàm yardstick

Mọi hàm yardstick yêu cầu một tibble kết quả mô hình

  • Cột chứa giá trị biến đích thực
    • hwy với dữ liệu mpg
  • Cột chứa dự đoán của mô hình
    • .pred
mpg_test_results
# A tibble: 57 x 3
     hwy   cty .pred
   <int> <int> <dbl>
 1    29    18  25.0
 2    31    20  27.7
 3    27    18  25.0
 4    26    18  25.0
 5    25    16  22.3
# ... with 47 more rows
Mô hình hóa với tidymodels trong R

Sai số bình phương trung bình gốc (RMSE)

RMSE ước lượng sai số dự đoán trung bình

  • Tính bằng hàm rmse() từ yardstick
    • Nhận một tibble kết quả mô hình
    • truth là cột giá trị đích thực
    • estimate là cột giá trị dự đoán
mpg_test_results %>% 
  rmse(truth = hwy, estimate = .pred)
# A tibble: 1 x 3
  .metric .estimator .estimate
  <chr>   <chr>          <dbl>
1 rmse    standard        1.93
Mô hình hóa với tidymodels trong R

Chỉ số R squared

Đo bình phương tương quan giữa giá trị thực và dự đoán

  • Còn gọi là hệ số xác định
  • Dao động từ 0 đến 1
    • Khi mọi dự đoán bằng giá trị thực, R squared = 1
  • Tính bằng hàm rsq() từ yardstick
mpg_test_results %>% 
  rsq(truth = hwy, estimate = .pred)
# A tibble: 1 x 3
  .metric .estimator .estimate
  <chr>   <chr>          <dbl>
1 rsq     standard       0.904
Mô hình hóa với tidymodels trong R

Biểu đồ R squared

Trực quan hóa chỉ số R squared

  • Dự đoán của mô hình so với giá trị thực
  • Đường y = x
    • Biểu thị R squared = 1
  • Dùng để phát hiện vấn đề hiệu suất mô hình
    • Mẫu phi tuyến
    • Vùng dự đoán kém

Biểu đồ R squared của mô hình mpg

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

Vẽ biểu đồ R squared

Vẽ biểu đồ R squared với ggplot2

  • Tibble kết quả mô hình
  • geom_point()
  • geom_abline()
  • coord_obs_pred()
ggplot(mpg_test_results, aes(x = hwy, y = .pred)) +

geom_point() +
geom_abline(color = 'blue', linetype = 2) +
coord_obs_pred() + labs(title = 'R-Squared Plot', y = 'Predicted Highway MPG', x = 'Actual Highway MPG')

Biểu đồ R squared của mô hình mpg

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

Tối ưu quy trình khớp mô hình

Hàm last_fit()

  • Nhận đặc tả mô hình, công thức mô hình và đối tượng chia tách dữ liệu
  • Thực hiện:
    1. Tạo tập huấn luyện và kiểm tra
    2. Khớp mô hình trên dữ liệu huấn luyện
    3. Tính chỉ số và dự đoán trên dữ liệu kiểm tra
    4. Trả về một đối tượng chứa mọi kết quả
lm_last_fit <- lm_model %>% 
  last_fit(hwy ~ cty, 
           split = mpg_split)
Mô hình hóa với tidymodels trong R

Thu thập chỉ số

Hàm collect_metrics()

  • Nhận kết quả từ last_fit()
    • Trả về tibble chứa chỉ số hiệu suất trên tập kiểm tra
  • Chỉ số mặc định cho hồi quy
    • RMSE
    • R squared
lm_last_fit %>% 
  collect_metrics()
# A tibble: 2 x 3
  .metric .estimator .estimate
  <chr>   <chr>          <dbl>
1 rmse    standard       1.93 
2 rsq     standard       0.904
Mô hình hóa với tidymodels trong R

Thu thập dự đoán

Hàm collect_predictions()

  • Nhận kết quả từ last_fit()
    • Trả về tibble chứa dự đoán trên tập kiểm tra
    • Cột dự đoán tên là .pred
    • Bao gồm biến đích và các cột định danh hàng khác
lm_last_fit %>% 
  collect_predictions()
# A tibble: 57 x 4
   id               .pred  .row   hwy
   <chr>            <dbl> <int> <int>
 1 train/test split  25.0     1    29
 2 train/test split  27.7     3    31
 3 train/test split  25.0     7    27
 4 train/test split  25.0     8    26
 5 train/test split  22.3     9    25
# ... with 47 more rows
Mô hình hóa với tidymodels trong R

Hãy đánh giá vài mô hình!

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

Preparing Video For Download...