用語集

フィーチャー・エンジニアリング

専門家による特徴エンジニアリングで機械学習の精度を向上させます。インパクトのある特徴量を作成、変換、選択するテクニックを学びます。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

フィーチャーエンジニアリングは、機械学習(ML)モデルにより適したものにするために、生データからフィーチャーを選択、変換、作成する重要なプロセスです。フィーチャーエンジニアリングは、ドメインの知識とデータ分析テクニックを使用して、根本的な問題をよりよく表現する入力を作成し、最終的にモデルのパフォーマンス、精度、解釈可能性を向上させます。最も熟練したシェフ(またはモデル)であっても、質の悪い材料(トレーニングデータ)では苦労する。このステップは、しばしばMLワークフローの中で最も重要で時間のかかる部分の一つと考えられています。

なぜフィーチャー・エンジニアリングが重要なのか?

実世界から収集された生データが、MLアルゴリズムで直接使用できる状態にあることは稀である。欠損値、矛盾、無関係な情報が含まれていたり、モデル消費に適さない形式(テキストやカテゴリーデータなど)であったりするかもしれません。フィーチャーエンジニアリングはこのような問題に対処する:

  • モデルのパフォーマンス向上:よく設計された特徴は、問題に関連するパターンを強調し、モデルの学習と汎化を容易にします。
  • 複雑さの軽減:より有益な入力を提供することで、モデルを単純化することができ、場合によっては非常に複雑な物体検出アーキテクチャやアルゴリズムの必要性を減らすことができる。
  • 多様なデータ型を扱う:様々なデータ型(テキスト、画像、カテゴリー)をアルゴリズムが理解できる数値表現に変換するメソッドを提供する。さらに読むには、データの前処理テクニックを調べる。
  • 解釈可能性の向上:意味のある機能は、モデルが特定の予測をする理由を理解しやすくし、説明可能なAI(XAI)に貢献することがある。

一般的なフィーチャー・エンジニアリングのテクニック

フィーチャーエンジニアリングの傘下にはいくつかのテクニックがある:

  • インピュテーション:推定値(例:平均値、中央値、またはより洗練された方法)でギャップを埋めることによって欠損データを処理すること。欠損データの処理は、一般的な最初のステップである。
  • スケーリングと正規化:数値特徴の範囲や分布を調整し(例:Min-Maxスケーリング、Zスコア正規化)、大きな値を持つ特徴が学習プロセスを支配するのを防ぐ。
  • カテゴリー変数のエンコード:非数値データ(カテゴリー「赤」、「緑」、「青」のような)を数値フォーマットに変換すること(ワンホットエンコーディング、ラベルエンコーディングなど)。カテゴリカルデータをエンコードするを参照。
  • 特徴の作成(生成):ドメイン知識または相互作用分析に基づいて、既存の特徴から新しい特徴を導き出す(例えば、「date_of_birth」から「age」を作成したり、「height」と「weight」を組み合わせて「BMI」にしたり、TF使用してテキスト特徴を抽出したりする)。
  • ビン化(離散化):連続的な数値データを離散的なビンまたは区間にグループ化すること。
  • 対数変換:歪んだデータ分布を扱うために対数変換を適用する。詳細はデータ変換をご覧ください。
  • 特徴の選択:モデルを単純化し、潜在的にパフォーマンスを向上させるために、冗長な特徴や無関係な特徴を捨て、最も関連性の高い特徴のみを識別して保持すること。これは次元削減と密接な関係がある。

フィーチャーエンジニアリングとフィーチャー抽出の比較

同じ意味で使われることも多いが、特徴工学と特徴抽出にはそれぞれ異なるニュアンスがある。

  • 特徴エンジニアリング:特徴抽出だけでなく手作業で新しい特徴を作成したり、ドメインの専門知識に基づいて既存の特徴を変換したり、最適な特徴を選択したりする、より広範なプロセス。多くの場合、創造性とデータと問題に対する深い理解を必要とする。
  • 特徴抽出:特に、生の、しばしば高次元のデータ(画像やセンサーの生測定値など)を、低次元の、より管理しやすい特徴セットに自動的に変換することに重点を置く。主成分分析(PCA)畳み込みニューラルネットワーク(CNN)のレイヤーによる自動特徴学習などの技術が特徴抽出の例である。

要するに、特徴抽出は、特徴工学の広範なプロセスの中で使用されるツールであることが多い

実世界での応用

  1. 予知保全:製造業では、機械からの生のセンサーデータ(振動、温度、圧力)はノイズが多く、高次元である可能性があります。フィーチャーエンジニアリングは、ローリングアベレージ、タイムウィンドウの標準偏差、周波数領域のフィーチャー(FFTのような)を計算したり、突然のスパイクや変化を示すフィーチャーを作成したりする。これらのエンジニアリングされた特徴は、製造業におけるAIで議論されているように、MLモデルが潜在的な機器の故障を事前に予測することを容易にする。
  2. 顧客離れの予測:どの顧客がサービスの利用をやめるかを予測するために、生のデータには利用ログ、デモグラフィック、サポートチケット履歴、購入記録などが含まれる。フィーチャーエンジニアリングでは、「平均セッション時間」、「最終購入からの時間」、「直近1ヶ月のサポートチケット数」、「ポジティブフィードバックとネガティブフィードバックの比率」、「顧客生涯価値」などのフィーチャーを作成することができる。これらの派生した特徴は、生のログだけと比較して、解約を予測するための豊富なシグナルを提供する。これは金融や小売のAIに関連している。

フィーチャー・エンジニアリングとUltralytics

のような先進的なモデルがある一方で Ultralytics YOLOのような先進的なモデルは、ディープ・ニューラル・ネットワーク・アーキテクチャ(バックボーン、ネック、ヘッド)を通じて関連する視覚的特徴を自動的に学習することにより、物体検出や 画像セグメンテーションなどのタスクを得意としているが、特徴工学の原則は依然として関連している。例えば、YOLO モデルに入力する前に、入力画像を前処理(例えば、様々な照明のためのヒストグラム均等化、OpenCVのようなライブラリを使用したノイズ除去、または問題ドメインに合わせた特定のデータ補強の適用)することは、ロバスト性とモデル性能を向上させることができる特徴工学の一形態です。さらに、YOLO 出力(バウンディングボックス座標、オブジェクトクラス、カウントなど)は、下流のタスクのためのフィーチャーに設計したり、より複雑な分析のために他のデータソースと組み合わせたりすることができますUltralytics モデルの使用方法、カスタムトレーニングアノテーションデータの前処理についてはUltralytics ドキュメントや チュートリアルを参照してください。Featuretoolsのようなツールは、Automated Machine Learning(AutoML)の概念に沿ったフィーチャーエンジニアリングプロセスの自動化を支援することもできます。効果的なフィーチャーエンジニアリングは、強力なディープラーニングモデルと並んで、MLOpsを成功させるための重要な要素です。

すべて読む