开始使用免费开始使用

调优 penalty 超参数

既然您已经看到 penalty 参数如何影响 lasso 回归对特征的选择,可能会问:"penalty 的最佳取值是什么?"tidymodels 提供了函数来探索像 penalty 这样的超参数的最佳值。

在本练习中,您将基于模型的 RMSE 找到 penalty 的最佳取值,然后用该值拟合最终模型。这将针对模型性能优化 lasso 回归的特征选择。

lasso_recipe 已为您创建,train 也已可用。tidyversetidymodels 包已为您加载。

本练习是课程的一部分

R 中的降维

查看课程

练习说明

  • 定义一个会对 penalty 进行调优的 linear_reg() 工作流。
  • train 创建 3 折交叉验证样本,并生成 20 个在 0.001 到 0.1 范围内的 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")
编辑并运行代码