FAQ
< All Topics

6.ラッソ回帰、リッジ回帰

Table of Contents

回答

私の方でコードを実行したところ、確かに回帰係数が全て0となりました。
ご指摘いただき、ありがとうございます。

ラッソ回帰では罰則項の影響度合いを決めることができるのですが、
今回のデータに対してscikit-learnのLassoを使うと、
その罰則項の影響が強過ぎて回帰係数がいずれも0となってしまうようです。

そのため、対策としては罰則項の影響度合いを決めるalphaという値を、
デフォルト値の1より小さくすれば良いです。
コードは下の画像のようになります。
今回は適当にalpha=0.01と設定しました。
alphaはハイパーパラメータですので、alphaの最適な値をきちんと決めるなら、
テストデータの精度が最大となるようにハイパーパラメータチューングするのが望ましいです。

 


また、scikit-learnのLassoクラスの公式ドキュメントは下のリンクになります。
もしLassoの使い方や詳しい仕様についてより深く知りたいということであれば、
そちらをご参照ください。
https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Lasso.html