使用自定义调优网格的 glmnet

在 R 中使用 caret 的机器学习

Zach Mayer

Data Scientist at DataRobot and co-author of caret

自定义调优 glmnet 模型

  • 2 个调优参数:alpha 和 lambda
  • 单一 alpha 时,可同时拟合所有 lambda 值
  • "一价"得到多个模型
在 R 中使用 caret 的机器学习

示例:glmnet 调优

# 自定义调优网格
myGrid <- expand.grid(
  alpha = 0:1, 
  lambda = seq(0.0001, 0.1, length = 10)
)
# 拟合模型
set.seed(42)
model <- train(
  y ~ ., 
  overfit, 
  method = "glmnet", 
  tuneGrid = myGrid, 
  trControl = myControl
)
# 绘制结果
plot(model)
在 R 中使用 caret 的机器学习

可视化比较模型

图片显示两条混合比例(0 和 1)下,ROC 与正则化参数的折线图。混合比例为 1 且正则化参数 > 0.1 时,ROC 达到最大。

在 R 中使用 caret 的机器学习

完整正则化路径

plot(model$finalModel)

图片显示 glmnet 模型的自定义折线图:多条系数随 L1 范数变化的曲线。L1 范数增大时,系数取值范围变宽。

在 R 中使用 caret 的机器学习

Passons à la pratique !

在 R 中使用 caret 的机器学习

Preparing Video For Download...