原文


2.クラスタリング

回答

私がそのコードを実行したところ、以下の画像のようになりました。

 

ご指摘いただいた通り、講義動画とは異なり「/usr/local/lib/python3.10/dist-packages/sklearn/cluster/_kmeans.py:870: FutureWarning: The default value of `n_init` will change from 10 to ‘auto’ in 1.4. Set the value of `n_init` explicitly to suppress the warning」という表示が出ました。
メッセージを読むと、「FutureWarning」と書かれていますので、これはエラーではなく警告文です。
そのため、実行上は何も問題なく、無視して構いません。
この原因は何かしらのライブラリのバージョンが変更されたことが原因だと考えられます。

もしこの警告文に従うなら、下の画像のように、KMeansクラスの引数にn_initを指定すれば良いです。
こうすれば警告文は表示されません。

 

 

1.教師なし学習とは

6.まとめ

3.決定木

1.K近傍法

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

回答

私の方でコードを実行したところ、確かに回帰係数が全て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

   統計学活用支援サイト