Wiki トピック

特徴量エンジニアリング

機械学習での特徴量エンジニアリングとは

注: 機械学習での特徴量エンジニアリングを学習する前に、特徴量について理解しておいてください。

「特徴量エンジニアリングはデータサイエンスの芸術的な部分である」– セルゲイ・ユルゲンソン(Kaggle のデータサイエンティスト世界競技ランキング元 1 位)

特徴量エンジニアリングとは、機械学習​​モデル​のパフォーマンスと​精度​を向上させるために、追加の変数(特徴量)を構築してデータセットに追加することです。最も効果的な特徴量エンジニアリングは、より深い​インサイト​獲得の目的であるビジネス上の課題と入手可能なデータソースに関する十分な知識に基づきます。これは、問題の意味とデータの意味に向き合う行為なのです。たとえば、債務不履行の可能性を見積もる場合、地域の失業率や住宅価格の傾向など、データの適切な外部ソースを見つけられれば、予測に使用するモデルを改善できる可能性があります。

特徴量エンジニアリングが重要である理由

特徴量エンジニアリングについて理解する

新しい特徴量を作成すると、データに対する理解が深まり、より価値の高い​​インサイト​が得られます。特徴量エンジニアリングは正しく実行すれば非常に価値の高い​​データサイエンス​のテクニックですが、最も困難なものの 1 つでもあります。

「特徴量を考え出すのは難しく、時間がかかり、専門的な知識が必要です」— Andrew Ng 氏(Baidu 社元チーフサイエンティスト、Coursera 社共同会長兼共同創立者、スタンフォード大学非常勤教授)

特徴量エンジニアリングの例

米国の主要な祝日である感謝祭で売れる七面鳥の数を予測したいとします。ほとんどの機械学習​​アルゴリズム​にとって、日付は関連のない数字の列であり、特に意味を持ちません。つまり、どの日付が感謝祭と関連付けられているかを理解していません。

ただし、どの日付が水曜日で、各祝日の前日が何曜日かをアルゴリズムに教える特徴量エンジニアリングを行うと、11 月の第 4 水曜日、つまり感謝祭の前日に当たる頻度が高いイベントをアルゴリズムで正確に特定できるようになります。特徴量エンジニアリングでは、このような「一般常識」の情報を明らかにして、データセットから得られる実践的なインサイトの数とビジネス価値を増やします。

特徴量エンジニアリング + DataRobot

DataRobot の​​自動機械学習​プラットフォームでは、基本的な特徴量エンジニアリングと高度な特徴量エンジニアリングの両方のテクニックが、すべてのタイプのデータに自動的に適用されます。たとえば、数値の予想因子の差または比率を取得したり、カテゴリの予測因子を出現頻度別にエンコードしたり、フリーテキストから個々の単語を抽出して隣接する単語とペアにしたり、日付フィールドから曜日と日付を選択したりできます。手動での特徴量エンジニアリングも可能です。