特徴量選択 とくちょうりょうせんたく
特徴量選択フィーチャーセレクション次元削減過学習防止変数選択
特徴量選択について教えて
簡単に言うとこんな感じ!
100個ある変数から「本当に予測に役立つ変数だけ」を選び出す作業だよ。「顧客の誕生日月なんて関係ない」「でも購買頻度は超大事」みたいに絞り込むことで、モデルを軽くしつつ精度を上げたり、過学習を防いだりできるんだ!
特徴量選択とは
特徴量選択(Feature Selection)とは、大量の特徴量(変数)の中から、予測に有効な特徴量のみを選び出す手法です。無関係な特徴量を削除することで、モデルの精度向上・過学習の防止・計算コスト削減・解釈性の向上が期待できます。
特徴量選択は次元削減の一種ですが、PCAなどの次元削減が「新たな合成変数を作る」のに対し、特徴量選択は「元の変数をそのまま使いつつ不要なものを除外する」点で異なります。
特徴量選択の手法
フィルター法(Filter Methods)
モデルに依存せず、統計的な基準で選択
| 手法 | 基準 |
|---|---|
| 相関係数 | ターゲットとの相関が高い変数を選択 |
| カイ二乗検定 | カテゴリ変数の独立性を検定 |
| 情報利得 | ターゲットの不確実性を減らす度合い |
| 分散フィルタ | ほぼ変化しない変数(分散が低い)を除去 |
ラッパー法(Wrapper Methods)
実際にモデルを使って特徴量の組み合わせを評価
| 手法 | 説明 |
|---|---|
| 前向き選択(Forward Selection) | 1つずつ追加し精度が改善されれば残す |
| 後ろ向き除去(Backward Elimination) | 全変数から1つずつ削除し影響を確認 |
| 再帰的特徴量除去(RFE) | モデルの重要度を使って再帰的に削除 |
組み込み法(Embedded Methods)
学習アルゴリズム自体が特徴量選択を行う
| 手法 | 説明 |
|---|---|
| L1正則化(Lasso) | 不要な特徴量の係数を0に圧縮 |
| 決定木の特徴量重要度 | ツリーの分岐に使われた回数・ゲイン |
| ElasticNet | L1+L2正則化の組み合わせ |
歴史と背景
- 1990年代:フィルター法が統計学から機械学習に導入
- 2000年代:ラッパー法・組み込み法の研究が活発化
- 2010年代:Lasso・ランダムフォレスト重要度がKaggleで定番に
- 現在:AutoMLが特徴量選択を自動化
選択基準の考え方
ステップ1: 分散フィルタ
→ ほぼ定数の変数を除去
ステップ2: 相関分析
→ ターゲットとの相関確認
→ 特徴量間の多重共線性を確認
ステップ3: 特徴量重要度(ツリーモデル)
→ ランダムフォレストなどで粗い重要度を確認
ステップ4: RFEや交差検証
→ 精緻に選択