Hồi quy tuyến tính với tidymodels

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

David Svancer

Data Scientist

Khớp mô hình với parsnip

Khớp mô hình với parsnip

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

Mô hình hồi quy tuyến tính

Dự đoán hwy dùng cty làm biến dự báo  

$$hwy = \beta_{0} + \beta_{1} cty$$

Tham số mô hình

  • $ \beta_{0} $ là hệ số chặn
  • $ \beta_{1} $ là hệ số dốc

 

Hiệu suất nhiên liệu đường cao tốc so với nội đô

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

Mô hình hồi quy tuyến tính

Dự đoán hwy dùng cty làm biến dự báo  

$$hwy = \beta_{0} + \beta_{1} cty$$

Tham số mô hình

  • $ \beta_{0} $ là hệ số chặn
  • $ \beta_{1} $ là hệ số dốc

 

Tham số ước lượng từ dữ liệu huấn luyện

$$\small hwy = 0.77 + 1.35(cty)$$

 

Dữ liệu mpg với đường hồi quy tuyến tính

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

Công thức mô hình

Công thức mô hình trong parsnip

  • Dùng để gán vai trò cột
    • Biến kết quả
    • Các biến dự báo

Dạng tổng quát

outcome ~ predictor_1 + predictor_2 + ...

Ký hiệu rút gọn

outcome ~ .

Dự đoán hwy dùng cty làm biến dự báo

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

Gói parsnip

Cú pháp thống nhất để khai báo mô hình trong R

  1. Chỉ định loại mô hình

    • Hồi quy tuyến tính hoặc loại mô hình khác
  2. Chỉ định engine

    • Mỗi engine tương ứng với một gói R nền tảng khác nhau
  3. Chỉ định chế độ

    • Hồi quy hoặc phân loại

Gói Parsnip

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

Khớp mô hình hồi quy tuyến tính

 

Định nghĩa đặc tả mô hình với parsnip

  • linear_reg()

 

Truyền lm_model vào hàm fit()

  • Chỉ định công thức mô hình
  • data dùng để huấn luyện mô hình

 

lm_model <- linear_reg() %>%

set_engine('lm') %>%
set_mode('regression')

 

lm_fit <- lm_model %>% 
  fit(hwy ~ cty, data = mpg_training)
Mô hình hóa với tidymodels trong R

Lấy các tham số ước lượng

 

Hàm tidy()

  • Nhận một đối tượng mô hình parsnip đã huấn luyện
  • Tạo một tibble tóm tắt mô hình
  • Cột termestimate cung cấp tham số ước lượng

 

tidy(lm_fit)
# A tibble: 2 x 5
  term        estimate std.error statistic  p.value
  <chr>          <dbl>     <dbl>     <dbl>    <dbl>
1 (Intercept)    0.769    0.528       1.46 1.47e- 1
2 cty            1.35     0.0305     44.2  6.32e-97
Mô hình hóa với tidymodels trong R

Tạo dự đoán

Truyền mô hình parsnip đã huấn luyện vào hàm predict()

  • new_data chỉ định dữ liệu để dự đoán giá trị mới

 

Đầu ra chuẩn hóa từ predict()

  1. Trả về một tibble
  2. Giữ nguyên thứ tự dòng như new_data
  3. Đặt tên cột dự đoán là .pred
hwy_predictions <- lm_fit %>% 
  predict(new_data = mpg_test)

hwy_predictions
# A tibble: 57 x 1
   .pred
   <dbl>
 1  25.0
 2  27.7
 3  25.0
 4  25.0
 5  22.3
# ... with 47 more rows
Mô hình hóa với tidymodels trong R

Thêm dự đoán vào dữ liệu kiểm tra

Hàm bind_cols()

  • Gộp hai hoặc nhiều tibble theo trục cột
  • Hữu ích để tạo tibble kết quả mô hình

Các bước

  • Chọn hwycty từ mpg_test
  • Truyền vào bind_cols() và thêm cột dự đoán
mpg_test_results <- mpg_test %>%
  select(hwy, cty) %>%

bind_cols(hwy_predictions) 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

Hãy mô hình hóa!

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

Preparing Video For Download...