前回は、ハイパーパラメータのalphaを1つだけ指定して、学習・評価を行いましたが、最適なalphaを見つけるためには複数の値を設定し、その結果を確認する必要があります。
LassoCVクラスを使うと、一度に複数のalphaの結果を確認することができます。
交差検証
LassoCVクラスは複数のalphaで交差検証を行い、最も精度が高かった時のalphaを結果として表示することができます。
alphaが[0.1, 0.5, 1, 5, 10]の場合の交差検証を行うコードは以下の通りです。
[Google Colaboratory]
1 | from sklearn.linear_model import LassoCV |
[実行結果]
交差検証が正常に終了しました。
重み確認
交差検証により、最も精度のよかった時のalphaでモデルが構築されています。
最適なalphaと各説明変数の重みを確認します。
[Google Colaboratory]
1 | print(f"alpha = {lasso_cv.alpha_}") |
[実行結果]
0.1のときの精度が最も高いということが確認できました。
またペナルティが弱くなったため、重みが0になる説明変数がなくなりました。
精度評価スコア
精度評価スコアを確認します。
[Google Colaboratory]
1 | y_train_pred = lasso_cv.predict(X_train_scaled) |
[実行結果]
精度評価スコアが以前のモデルよりも向上しています。
交差検証を使うと、効率的にパラメータの調整を行うことができるので、積極的に活用していきましょう。
次回は、リッジ回帰を行います。