lasso 回帰のペナルティ値を試す
前の演習では、目的変数と説明変数を標準化するためのコードをすべて完成させました。ここでは、train データと lasso_recipe を使ってワークフローを作成し、lasso 回帰モデルを学習して、異なるペナルティ値の影響を確かめます。ペナルティを調整してモデルを再学習するたびに、モデルに残る非ゼロの変数の数に注目してください。lasso 回帰がどのように特徴量選択を行うかを観察します。
tidyverse と tidymodels パッケージは読み込まれています。
この演習はコースの一部です
Rによる次元削減
演習の手順
- ペナルティ 0.001 で lasso 回帰のワークフローを学習し、0 より大きい係数を表示します。
- ペナルティ 0.01 で lasso 回帰のワークフローを再学習し、0 より大きい係数を表示します。
- ペナルティ 0.1 で lasso 回帰のワークフローを再学習し、0 より大きい係数を表示します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Train workflow model with penalty = 0.001 and view model variables
lasso_model <- linear_reg(___ = ___, mixture = 1, engine = "___")
lasso_workflow <- workflow(preprocessor = lasso_recipe, spec = ___)
tidy(lasso_workflow %>% fit(train)) %>% filter(___ > ___)
# Train the workflow model with penalty = 0.01 and view model variables
lasso_model <- ___(___ = ___, ___ = ___, ___ = "___")
lasso_workflow <- workflow(preprocessor = ___, spec = ___)
tidy(lasso_workflow %>% fit(train)) %>% filter(___ > ___)
# Train the workflow model with penalty = 0.1 and view model variables
lasso_model <- ___(___ = ___, ___ = ___, ___ = "___")
lasso_workflow <- ___ %>% ___(___)
tidy(___ %>% ___(___)) %>% ___(___ > ___)