penalty ハイパーパラメータをチューニングする
penalty パラメータが lasso 回帰の特徴量選択にどのように影響するかを見てきました。では、「最適な penalty はいくつでしょうか?」と気になりますよね。tidymodels には、penalty のようなハイパーパラメータの最適値を探索する関数が用意されています。
この演習では、まずモデルの RMSE に基づいて penalty の最適値を見つけ、その penalty 値で最終モデルを学習します。これにより、モデル性能を高めるための lasso 回帰の特徴量選択を最適化します。
lasso_recipe は用意済みで、train も利用できます。tidyverse と tidymodels パッケージも読み込まれています。
この演習はコースの一部です
Rによる次元削減
演習の手順
penaltyをチューニングするlinear_reg()のワークフローを定義します。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")