開始使用免費開始

調整 penalty 超參數

既然你已經看過 penalty 參數如何影響 lasso 迴歸對特徵的選擇,你可能會想:「penalty 的最佳數值是什麼?」tidymodels 提供函式來探索像 penalty 這類超參數的最佳值。

在這個練習中,你會根據模型的 RMSE 找出 penalty 的最佳值,接著用該 penalty 值訓練最終模型。這能針對模型效能最佳化 lasso 迴歸的特徵選擇。

lasso_recipe 已為你建立,train 也可使用。同時已為你載入 tidyversetidymodels 套件。

本練習屬於課程

R 的降維

檢視課程

練習說明

  • 定義會調整 penaltylinear_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")
編輯並執行程式碼