回帰の方法まとめ
(GPTコピペ)
😃 そもそも回帰ってなに
🐹 ざっくりいうと、「数字を予測する機械学習の方法」
🐹 入力(特徴量)から連続値(数値)を出すのが目的
🐹 家賃予測、気温予測とかね
😃 じゃぁ、機械学習で使う回帰の方法全部教えて
- 線形回帰(Linear Regression)
- リッジ回帰 / ラッソ回帰
- 多項式回帰
- サポートベクター回帰(SVR
- 決定木回帰
- ランダムフォレスト回帰
- 勾配ブースティング回帰(XGBoost, LightGBM, CatBoost)
🐹 じゃあ1つずつ「どんな特徴を持ってるか」「良いとこ・弱いとこ」まとめるね📊✨
📈 回帰の代表的な手法と特徴
1️⃣ 線形回帰(Linear Regression)
特徴:
- 入力と出力の関係を「直線(または平面)」で表す超ベーシックな回帰。
- 数式はシンプル:
強み:解釈性が高い(係数を見れば「何が効いてるか」わかる)。
弱み:非線形な関係は苦手。
2️⃣ リッジ回帰(Ridge) / ラッソ回帰(Lasso)
特徴:
- 線形回帰に「正則化」を加えて過学習を防ぐ。
- リッジ:係数を小さくする(L2正則化)。
- ラッソ:不要な特徴の係数をゼロにして「特徴選択」もできる(L1正則化)。
強み:多次元データでも安定して予測。ラッソは特徴量選びに便利。
弱み:非線形関係は相変わらず苦手。
3️⃣ 多項式回帰(Polynomial Regression)
特徴:
- 線形回帰を「二次・三次…の項」まで広げて曲線をフィット。
- 例:
強み:直線では表せない曲線的なデータを表現できる。
弱み:次数を上げすぎると過学習する。
4️⃣ サポートベクター回帰(SVR)
特徴:
- SVMの回帰版。
- 予測値が「ある誤差範囲(εチューブ)」に収まればOKとする仕組み。
- カーネルを使えば非線形も対応可能。
強み:外れ値に比較的強い。
弱み:データが大きすぎると計算コスト高い。
5️⃣ 決定木回帰(Decision Tree Regression)
特徴:
- データを分岐条件でどんどん分けて、葉ノードに平均値を置く。
- if文のツリーみたいな感じ。
強み:非線形OK。解釈しやすい。
弱み:1本の木だと過学習しやすい。
6️⃣ ランダムフォレスト回帰(Random Forest Regression)
特徴:
- 決定木をランダムにたくさん作って平均をとるアンサンブル。
強み:過学習に強く、精度も安定。汎用性が高い。
弱み:解釈性は決定木より落ちる。
7️⃣ 勾配ブースティング回帰(Gradient Boosting Regression)
(代表実装:XGBoost / LightGBM / CatBoost)
特徴:
- 弱いモデル(浅い決定木)を次々に積み重ねて誤差を修正していく。
- 「前のモデルが苦手だった部分」を後のモデルが学ぶ。
強み:表形式データ(テーブルデータ)では最強クラス。Kaggle常連。
弱み:パラメータ調整が難しい。学習時間もランダムフォレストより長い。
🎯 まとめイメージ
- シンプル&解釈重視:線形回帰、リッジ/ラッソ
- 曲線対応:多項式回帰
- 外れ値に強い:SVR
- 木系でわかりやすい:決定木
- 安定・万能:ランダムフォレスト
- 高精度・実務で強い:勾配ブースティング(XGBoost/LightGBM/CatBoost)