特徴量エンジニアリング(Feature Engineering)とは、生データから機械学習モデルの性能を向上させる有効な特徴量を作り出すプロセスです。ドメイン知識を活用してデータを変換・加工し、モデルが学習しやすい形にします。
なぜ重要か
「データサイエンスのプロジェクトの8割は特徴量エンジニアリングに費やされる」と言われるほど、この工程は機械学習の成否を左右します。同じアルゴリズムでも、特徴量の質が異なれば予測精度に大きな差が出ます。
代表的な手法
数値特徴量に対する対数変換・多項式特徴量の生成、日付データからの曜日・月・祝日フラグの抽出、テキストデータのTF-IDF化やBag of Words化、カテゴリデータのワンホットエンコーディングやターゲットエンコーディングなどが代表的です。
自動特徴量エンジニアリング
近年では、AutoFeat、Featuretools、TSFreshなどのツールにより自動化が進んでいます。また、深層学習は特徴量の自動抽出能力が高く、手動での特徴量エンジニアリングの必要性を減らしています。