![見出し画像](https://assets.st-note.com/production/uploads/images/27996162/rectangle_large_type_2_6fa14e381cb55dee0280f0b3f9e2603c.jpeg?width=1200)
scikit-learn 回帰分析 - ラッソ回帰
前回の続きからなので目次は4から。
4. Lasso Regression - ラッソ回帰
データを呼ぶところから。
Lasso回帰のcoefficient とlambdaの関係でshrinkageをみる。
MSEも検証。
cross-validationでlambdaの最小を求める。
Lasso Regression結果 : lambda = 0.003, MSE=29.28, r^2=0.700
5. Skip Elastic Net this time - 今回は飛ばす
Elastic NetはRidgeとLassoのコンビネーションで、L2の正則項(Ridge)とL1の正則項(Lasso)の二つの項が足されている。それぞれにlambdaがあるので、チューンするパラメタは二つになる。どちらかのlambdaが0の時、RidgeかLassoになり、両方0だとOLSになる。
6. Summary - まとめ
sciki-learnのRegression に関し、OLS, Ridge, Lassoをpythonで学んだ。ベストな予測のパラメタlambdaの評価をcross-varidation (Ridge, Lasso)で行った。
結果の比較を下にまとめる。
結果に差は見られない。(エラーの解析をしていないので、なんとも言えないが、R言語のCVを使うと統計?エラーもすぐ出るのか?)今回のデータではデータ数が少ない事(<100K)、またcollinearityが相関マップでは明らかに見られなかった事から、タイトルのフローチャートにあるように、一番基本的なSGD(Stochastic Gradient Descent 確率的勾配降下法)回帰でよかったようだ。