特徴量エンジニアリング とくちょうりょうえんじにありんぐ
特徴量フィーチャーエンジニアリングデータ前処理変数選択特徴量ストア次元削減
特徴量エンジニアリングって何のためにするの?
特徴量エンジニアリングとは
特徴量エンジニアリング(Feature Engineering) とは、機械学習モデルへの入力として使う「特徴量(Feature)」を生データから作成・変換・選択するプロセスです。
「Garbage in, garbage out(ゴミを入れればゴミが出る)」の原則通り、どんなに高度なモデルを使っても、特徴量の品質が低ければ良い結果は得られません。特徴量エンジニアリングはモデルの性能を大きく左右する最重要プロセスのひとつです。
主な特徴量エンジニアリングの手法
| 手法 | 内容 | 例 |
|---|---|---|
| 欠損値の処理 | NULLデータの補完・除去 | 平均値補完・中央値補完 |
| スケーリング | 数値の範囲を統一 | 正規化(0〜1)・標準化(z-score) |
| エンコーディング | カテゴリ値を数値に変換 | One-hot encoding・Label encoding |
| 特徴量生成 | 既存特徴量から新しい特徴量を作成 | 年齢×収入の交互作用特徴量 |
| 次元削減 | 特徴量数を減らす | PCA・t-SNE |
| バイニング | 連続値を区間に分類 | 年齢を10代・20代・30代に分類 |
歴史と背景
- 機械学習初期:特徴量設計が専門知識に基づく手作業(ドメイン知識が重要)
- 深層学習(2010年代):ニューラルネットワークが特徴量を自動学習(自動特徴量抽出)
- 現在:AutoML・特徴量ストアで自動化・再利用が進む
特徴量ストア
複数のMLモデルで同じ特徴量を再利用できるよう管理するシステム。同じ計算を重複して行うムダを排除し、学習と推論で同じ特徴量を使える一貫性を保証します。