LassoCV 回帰器の作成
Cross-Validation を用いて正則化強度(alpha 値)を自動調整する LassoCV() 回帰器を使い、ANSUR 男性データセットのサブサンプルで上腕二頭筋の周囲長を予測します。
標準化済みの学習・テストデータは X_train、X_test、y_train、y_test としてあらかじめ読み込まれています。
この演習はコースの一部です
Pythonで学ぶ次元削減
演習の手順
- 学習用データで LassoCV モデルを作成して学習させてください。
- テストセットでの \(R^2\) を計算してください。
- ゼロでない係数のマスクを作成してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
from sklearn.linear_model import LassoCV
# Create and fit the LassoCV model on the training set
lcv = ____
lcv.____
print(f'Optimal alpha = {lcv.alpha_:.3f}')
# Calculate R squared on the test set
r_squared = lcv.____
print(f'The model explains {r_squared:.1%} of the test set variance')
# Create a mask for coefficients not equal to zero
lcv_mask = ____
print(f'{sum(lcv_mask)} features out of {len(lcv_mask)} selected')