使用自訂調參網格的 glmnet

使用 R 的 caret 進行 Machine Learning

Zach Mayer

Data Scientist at DataRobot and co-author of caret

自訂調參的 glmnet 模型

  • 2 個調參參數:alpha 與 lambda
  • 固定單一 alpha 時,可同時擬合所有 lambda
  • 「一價」得到多個模型
使用 R 的 caret 進行 Machine Learning

範例:glmnet 調參

# Make a custom tuning grid
myGrid <- expand.grid(
  alpha = 0:1, 
  lambda = seq(0.0001, 0.1, length = 10)
)
# Fit a model
set.seed(42)
model <- train(
  y ~ ., 
  overfit, 
  method = "glmnet", 
  tuneGrid = myGrid, 
  trControl = myControl
)
# Plot results
plot(model)
使用 R 的 caret 進行 Machine Learning

視覺化比較模型

這張圖是 ROC 與正規化參數的折線圖,比較混合比例 0 與 1。當混合比例為 1 且正規化參數大於 0.1 時,ROC 最高。

使用 R 的 caret 進行 Machine Learning

完整正規化路徑

plot(model$finalModel)

這張圖為 glmnet 模型的自訂折線圖:多條係數對 L1 範數的曲線。隨著 L1 範數增加,係數範圍變得更寬。

使用 R 的 caret 進行 Machine Learning

一起來練習吧!

使用 R 的 caret 進行 Machine Learning

Preparing Video For Download...