調整 penalty 超參數
既然你已經看過 penalty 參數如何影響 lasso 迴歸對特徵的選擇,你可能會想:「penalty 的最佳數值是什麼?」tidymodels 提供函式來探索像 penalty 這類超參數的最佳值。
在這個練習中,你會根據模型的 RMSE 找出 penalty 的最佳值,接著用該 penalty 值訓練最終模型。這能針對模型效能最佳化 lasso 迴歸的特徵選擇。
lasso_recipe 已為你建立,train 也可使用。同時已為你載入 tidyverse 與 tidymodels 套件。
本練習屬於課程
R 的降維
練習說明
- 定義會調整
penalty的linear_reg()workflow。 - 由
train建立 3 折交叉驗證樣本,並建立從 0.001 到 0.1 的 20 個penalty數值序列。 - 使用不同的
penalty值建立 lasso 模型。 - 根據
penalty值繪製模型效能(RMSE)。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# 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")