特徴量エンジニアリングとは、機械学習モデルの予測精度を向上させるために、生のデータから適切な入力変数を作成・加工するプロセスです。ドメイン知識を活用してモデルがパターンを学習しやすくします。
特徴量エンジニアリングとは
一言でいうと、AIモデルの性能を最大化するために、元のデータをAIが理解しやすい形に加工・変換する作業のことです。
詳しく解説
機械学習モデルは入力されたデータからパターンを見つけ出しますが、生のデータのままでは重要な情報が埋もれていることがあります。特徴量エンジニアリングでは、データのスケーリング、欠損値の補完、カテゴリ変数の数値化、および複数の変数を組み合わせた新しい変数の作成などを行います。適切な特徴量を作成することで、複雑なアルゴリズムを使わなくてもモデルの予測精度が飛躍的に向上するため、データサイエンスのプロジェクトにおいて非常に重要な工程となっています。
具体例・使われ方
例えば、住宅価格の予測モデルを作る際、「敷地面積」と「建物面積」という個別のデータだけでなく、それらを足し合わせた「総床面積」や、築年数から現在までの経過年数を算出した新しい変数を入力とすることが挙げられます。また、日付データから「曜日」や「休日フラグ」を抽出することも典型的な利用例です。
似た用語との違い
アルゴリズムの自動学習そのものである「機械学習」や、AIが自らデータの表現を学習する「ディープラーニング」と混同されやすいですが、これらはモデルの構築手法や学習プロセスを指すのに対し、特徴量エンジニアリングはモデルに与える前のデータの準備・加工プロセスを指します。
注意点
データサイエンティストの主観や仮説に大きく依存するため、不適切な加工を行うとモデルが過学習を起こすリスクがあります。また、未来のデータを使って特徴量を作成してしまうデータリークにも十分な注意が必要です。