Tinh chỉnh siêu tham số penalty
Giờ bạn đã thấy tham số penalty ảnh hưởng thế nào đến việc lasso regression chọn đặc trưng, hẳn bạn sẽ hỏi: "Giá trị penalty tốt nhất là gì?" tidymodels cung cấp các hàm để tìm giá trị tốt nhất cho các siêu tham số như penalty.
Trong bài này, bạn sẽ tìm giá trị penalty tốt nhất dựa trên RMSE của mô hình, rồi fit một mô hình cuối cùng với giá trị penalty đó. Cách này sẽ tối ưu việc chọn đặc trưng của lasso regression cho hiệu suất mô hình.
lasso_recipe đã được tạo sẵn cho bạn và train cũng đã có sẵn. Các gói tidyverse và tidymodels cũng đã được nạp.
Bài tập này là một phần của khóa học
Giảm Chiều Dữ Liệu với R
Hướng dẫn bài tập
- Định nghĩa một workflow
linear_reg()sẽ tinh chỉnhpenalty. - Tạo mẫu cross validation 3-fold từ
trainvà một dãy 20 giá trị penalty trong khoảng từ 0.001 đến 0.1. - Tạo các mô hình lasso với các giá trị penalty khác nhau.
- Vẽ biểu đồ hiệu suất mô hình (RMSE) theo giá trị penalty.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Create tune-able model
lasso_model <- ___(___ = ___(), mixture = ___, engine = "glmnet")
lasso_workflow <- workflow(preprocessor = lasso_recipe, ___ = ___)
# Create a cross validation sample and sequence of penalty values
train_cv <- ___(___, v = ___)
penalty_grid <- grid_regular(penalty(range = c(___, ___)), levels = ___)
# Create lasso models with different penalty values
lasso_grid <- tune_grid(
___,
resamples = ___,
grid = ___)
# Plot RMSE vs. penalty values
___(___, metric = "rmse")