始める無料で始める

penalty ハイパーパラメータをチューニングする

penalty パラメータが lasso 回帰の特徴量選択にどのように影響するかを見てきました。では、「最適な penalty はいくつでしょうか?」と気になりますよね。tidymodels には、penalty のようなハイパーパラメータの最適値を探索する関数が用意されています。

この演習では、まずモデルの RMSE に基づいて penalty の最適値を見つけ、その penalty 値で最終モデルを学習します。これにより、モデル性能を高めるための lasso 回帰の特徴量選択を最適化します。

lasso_recipe は用意済みで、train も利用できます。tidyversetidymodels パッケージも読み込まれています。

この演習はコースの一部です

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")
コードを編集して実行