AI・機械学習の基本概念

特徴量エンジニアリング とくちょうりょうえんじにありんぐ

特徴量前処理データ変換モデル精度欠損値処理スケーリング
特徴量エンジニアリングについて教えて

簡単に言うとこんな感じ!

AIに渡す「入力データ」を賢く料理して食べやすい形にする作業だよ!たとえば「日時」という1列のデータから「曜日」「時間帯」「祝日かどうか」を取り出すのが特徴量エンジニアリング。生のデータのままより、AIが理解しやすい形に加工するほど精度が上がるんだ。データサイエンスの仕事の8割はこの作業だとも言われてるよ!


特徴量エンジニアリングとは

特徴量エンジニアリング(Feature Engineering)とは、機械学習モデルへの入力として使う特徴量(Feature)を作成・選択・変換する一連の作業です。生データをそのままモデルに渡すより、適切に加工した特徴量を使ったほうが精度が上がることがほとんどです。

「ゴミを入れればゴミが出る(Garbage In, Garbage Out)」という格言があるように、どんなに高度なモデルを使っても、入力データの質が低ければ良い結果は得られません。逆に、シンプルなモデルでも質の高い特徴量があれば驚くほど精度が出ることもあります。

特徴量エンジニアリングは職人的なスキルが求められる領域で、ドメイン知識(業務理解)が大きく活きる場面です。発注側として「使用するデータと特徴量の設計について説明してください」とベンダーに問うことで、AI開発の品質を評価する手がかりになります。


代表的な特徴量エンジニアリング手法

手法内容
数値スケーリング値の範囲を統一する(正規化・標準化売上額(0〜1億)を0〜1に変換
欠損値処理NULLや空白を埋める・除外する平均値・中央値で補完、または行を削除
カテゴリのエンコーディング文字列を数値に変換「東京/大阪/名古屋」→ 0/1/2 またはOne-Hot
特徴量の生成既存の列から新しい特徴を作る日時 → 曜日・時間帯・祝日フラグ
特徴量の交互作用複数の特徴を掛け合わせる身長 × 体重 → BMI
外れ値処理異常に大きな値をクリップ・除外する年収9,999万円の誤入力を上限値に置換
特徴量選択重要でない特徴を除くL1正則化・相関係数・特徴重要度でフィルタ
ビニング(離散化)連続値を区間に分ける年齢 → 10代/20代/30代…

歴史と背景

  • 1950〜70年代:統計学における変数変換(対数変換・Box-Cox変換)が特徴量工学の原型
  • 1980〜90年代:機械学習の発展とともに「特徴抽出(Feature Extraction)」という概念が確立
  • 2000年代:KaggleなどのMLコンペティションの普及で、特徴量エンジニアリングが競争の勝敗を決める要因として注目される
  • 2010年代前半:「ディープラーニングが特徴量を自動学習する」という期待から一時的に注目が下がる
  • 2010年代後半〜現在:テーブルデータ(構造化データ)ではXGBoostなど勾配ブースティング系モデルが依然として主流で、特徴量エンジニアリングの重要性は変わらない。AutoML・AutoFEと呼ばれる自動化ツールも登場

特徴量エンジニアリングの流れ

特徴量エンジニアリングのプロセス 生データ CSV・DB・ログ 欠損値・外れ値 処理・クリーニング 変換・生成 スケーリング・派生 特徴量選択 重要でない列を削除 モデル 学習へ 特徴量エンジニアリングの具体例:ECサイトの購買予測 元データ user_id, last_login_datetime, total_purchase_amount, ... 加工後の特徴量 days_since_last_login(最終ログインからの日数) is_weekend(最終ログインが週末か) log_total_purchase(購入額の対数変換) purchase_frequency(購入頻度) → ドメイン知識を活かして「解約しそうか」を予測しやすい形に変換

関連する規格・RFC

規格・RFC番号内容
ISO/IEC 22989:2022AI概念・用語(データ処理・特徴抽出の定義を含む)
ISO/IEC 23053機械学習を使ったAIシステムのフレームワーク

関連用語