LASSO
こんにちは、βshortです。
今回は、機械学習の回帰分析問題のLASSOについて扱います。
ここでは、Pythonで、LASSO回帰をしていきます。
それでは、プログラムしていきましょう。
Lassoでは、正則化に、L1正則化を使用する。
いくつかの係数が0になる正則化される
ぴったり0にすることができる。
合わせて、以下のページもご覧ください。

スパースモデリング-入門メモ-
...
プログラム
係数を表示するプログラムです。
データには、ボストンデータを使います。
Xの変数は、13個の重回帰式になります。
lassoを実行していきましょう。

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from sklearn.linear_model import Lasso
from sklearn.datasets import load_boston
# サンプルデータを用意
dataset = load_boston()
# 説明変数データを取得
data_x = pd.DataFrame(dataset.data, columns=dataset.feature_names)
#被説明変数データを取得
data_y = pd.DataFrame(dataset.target, columns=['target'])
#データのサイズ
print("説明変数行列のサイズ:{}".format(data_x.shape[1]))
print("被説明変数のサイズ:{}".format(data_y.shape))
print("説明変数の変数の個数:{}".format(data_x.shape[1]))
#変数の個数
coef_n = data_x.shape[1]
#小数以下n
decimal_p = 2
#lasso回帰の偏係数
lasso = Lasso().fit(data_x, data_y)
print(lasso.coef_.round(decimal_p))
結果
[-0.06 0.05 -0. 0. -0. 0.95 0.02 -0.67 0.26 -0.02 -0.72 0.01
-0.76]
ridgeについて

Pythonで機械学習-Ridge回帰-
...
