【直感でわかる】LASSO回帰とは?特徴・数式・Ridgeとの違い・Python実装まで徹底解説📉🧠
「予測モデルを作ったけど、変数が多すぎて意味がわからない…」
そんな悩みを解決してくれるのが、LASSO(ラッソ)回帰です!
特徴量選択 + 正則化が同時にできる強力な手法で、特に高次元データや過学習対策に効果絶大💥
この記事では、LASSOの概要・数式・Ridge回帰との違い・活用例・Python実装までを、初心者にもわかりやすく解説します📘
LASSOとは?
**LASSO(Least Absolute Shrinkage and Selection Operator)**は、
回帰モデルにおける正則化(Regularization)手法のひとつです。
✅ 不要な変数の係数を自動で0にする
✅ 過学習を防ぐために重みを“しぼる”
という、精度とシンプルさを両立した手法なんです✨
LASSO回帰の数式📐
LASSOは以下のような最適化問題を解きます:
minβ(∑i=1n(yi−β0−∑j=1pβjxij)2+λ∑j=1p∣βj∣)\min_{\beta} \left( \sum_{i=1}^{n}(y_i - \beta_0 - \sum_{j=1}^{p} \beta_j x_{ij})^2 + \lambda \sum_{j=1}^{p} |\beta_j| \right)
ここで:
-
yiy_i:目的変数(正解)
-
xijx_{ij}:説明変数(特徴量)
-
βj\beta_j:回帰係数
-
λ\lambda:正則化パラメータ(大きいほど強くペナルティ)
🔸 通常の回帰(最小二乗法)に、L1ノルム(絶対値)の罰則項が加わっているのが特徴!
Ridge回帰との違い⚖️
項目 | Ridge回帰 | LASSO回帰 |
---|---|---|
正則化 | L2ノルム(2乗) | L1ノルム(絶対値) |
効果 | 係数を小さくする | 係数を0にする(変数選択) |
特徴量選択 | できない | できる◎ |
結果の解釈 | やや複雑 | シンプルで解釈しやすい◎ |
LASSOは「どの変数が重要か?」を教えてくれるのが強みです✨
LASSOが向いているケース✅
-
説明変数(特徴量)が多い📈
-
重要な変数を自動選択したい🔍
-
解釈性を重視したい📘
-
データが少ない or ノイズが多い⚠️
PythonでLASSOを実装しよう(scikit-learn)
from sklearn.linear_model import Lasso
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
# データセットの準備
X, y = load_boston(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
# モデルの作成と学習
model = Lasso(alpha=1.0) # alpha = λ
model.fit(X_train, y_train)
# 予測と評価
y_pred = model.predict(X_test)
print("MSE:", mean_squared_error(y_test, y_pred))
print("係数(β):", model.coef_)
model.coef_
で0になった係数は「不要」と判断された特徴量です!
注意点&チューニングポイント⚙️
🔹 λ(alpha)が大きすぎると、全部の係数が0になる!
→ クロスバリデーションなどでチューニングするのが◎
🔹 変数が強く相関していると、どれか1つだけが残りやすい
→ **Elastic Net(L1 + L2 の合わせ技)**がおすすめ!
応用例🧩
分野 | 活用事例 |
---|---|
医療 | 遺伝子データから重要なマーカー抽出 |
マーケティング | 売上に影響する要因を自動選択 |
ファイナンス | リスク要因の抽出・説明性向上 |
IoT | センサーの中で重要な信号のみ抽出 |
まとめ📝
-
LASSOは、正則化と変数選択を同時に実現する回帰手法
-
L1ノルムによって係数を0にできる → モデルがシンプル
-
解釈性・予測性能・過学習防止をバランスよく実現
-
Pythonで簡単に実装でき、実務でも非常に使われている
さらに知りたい方には、
✅ LASSOとElasticNetの違いを徹底比較
✅ LASSOで選ばれた変数の意味を可視化する方法
✅ LASSO + グリッドサーチで最適パラメータを見つける記事
などの応用ブログもご用意できます📘
お気軽にリクエストしてください!