特徴量エンジニアリング

要約:特徴量エンジニアリングは、機械学習モデルがより速く、より正確に学習できるよう、生データを意味のある入力に変換するプロセスです。

特徴量エンジニアリングとは、機械学習モデルが学習に使用する入力変数(特徴量)を作成するプロセスです。特徴量とは、データの測定可能な属性のことです。優れた特徴量は、予測タスクにとって重要なことについてのドメイン知識をエンコードします。無関係な特徴量はノイズを加え、モデルの性能を低下させます。特徴量エンジニアリングは、ディープラーニングがその多くを自動化する以前は、機械学習における主要なスキルでした。

主要なテクニック

  1. 正規化とスケーリング:値を共通の範囲(0〜1またはzスコア)に再スケールします。大きな値の特徴量が支配的になるのを防ぎます。
  2. カテゴリ変数のエンコーディング:ワンホット、ラベル、またはターゲットエンコーディングを使用してカテゴリを数値に変換します。
  3. 対数変換:歪んだ分布(収入、人口)に対数を適用します。モデルが学習しやすいよう、パターンをより線形にします。
  4. 日時特徴量:タイムスタンプ列から曜日、時間、またはイベントからの経過時間を抽出します。
  5. 交互作用特徴量:2つの特徴量を掛け合わせたり組み合わせたりして、モデルが個別には見逃す可能性のある相互効果を捉えます。
  6. テキスト特徴量NLPタスクのために、テキストをTF-IDFベクトル、単語数、または埋め込みに変換します。

特徴量選択

すべての特徴量がモデルを改善するわけではありません。特徴量が多すぎると「次元の呪い」が発生します。一般的な選択方法には、相関分析、相互情報量、再帰的特徴量削減があります。ランダムフォレストのような木ベースのモデルは、組み込みの特徴量重要度スコアを報告します。正則化技術(L1/Lasso)は、弱い特徴量を自動的にゼロにします。

特徴量エンジニアリング vs. ディープラーニング

従来の機械学習(ロジスティック回帰、勾配ブースティング)は手作りの特徴量に依存しています。ディープラーニングは生データから自動的に表現を学習します。CNNは手作業なしで画像特徴量を学習します。Transformerは大規模コーパスからエンドツーエンドでテキスト特徴量を学習します。特徴量エンジニアリングは、ニューラルネットワークが本質的な優位性を持たない表形式データやドメイン固有データにおいて依然として重要です。

データ品質と特徴量品質

特徴量の品質は基礎となるデータに依存します。グランドトゥルースラベルは、特徴量が分割をまたいで汎化するために一貫している必要があります。欠損値、外れ値、スキーマドリフトは時間とともに特徴量を劣化させます。Bright Dataのデータセットは、生データのクリーニングの手間なしに特徴量抽出に対応した、クリーンで構造化された学習データを提供します。

20,000+ 人以上のお客様に世界中で信頼されています

始める準備はできていますか?