调优 penalty 超参数
既然您已经看到 penalty 参数如何影响 lasso 回归对特征的选择,可能会问:"penalty 的最佳取值是什么?"tidymodels 提供了函数来探索像 penalty 这样的超参数的最佳值。
在本练习中,您将基于模型的 RMSE 找到 penalty 的最佳取值,然后用该值拟合最终模型。这将针对模型性能优化 lasso 回归的特征选择。
lasso_recipe 已为您创建,train 也已可用。tidyverse 和 tidymodels 包已为您加载。
本练习是课程的一部分
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")