線形回帰⑧ (LASSO回帰モデルのパラメータ変更)

LASSO回帰モデルのハイパーパラメータを変更します。

ハイパーパラメータとは、機械学習モデルがもつパラメータの中で人間が任意に調整するパラメータです。

ハイパーパラメータの設定次第で、モデルの精度が大きく変わってしまいますので適切な値を設定する必要があります。

ハイパーパラメータ(alpha)変更

Lassoクラスにはalphaというハイパーパラメータがあり、正則化項によるペナルティの強さを調整できます。

alphaの値が大きいほど、重みを0にする力が強くなります。

alphaのデフォルトは1.0ですが、試しに10に変更してモデルを構築・学習してみます。

[Google Colaboratory]

1
lasso_change_param = Lasso(alpha=10).fit(X_train_scaled, y_train)

重みを表示して、結果を確認します。

[Google Colaboratory]

1
2
3
for i, (col, coef) in enumerate(zip(boston.feature_names, lasso_change_param.coef_)):
print(f"w{i}({col}) = {coef}")
print(f"b = {lasso_change_param.intercept_}")

[実行結果]

ペナルティを強くしすぎたようで、全ての説明変数の重みが0.0となってしまいました。

最適なalphaを見つけるためには、さらに試行錯誤が必要なようです。