特徴工学で使用される上位6つの手法[機械学習]

公開: 2021-03-12

目次

序章

特徴工学は、データサイエンスプロジェクトの最も重要な側面の1つです。 特徴エンジニアリングとは、生データから特徴を抽出および改良するために使用される手法を指します。 特徴工学手法を使用して、モデルの適切な入力データを作成し、モデルのパフォーマンスを向上させます。

モデルは、必要な出力を提供するために生データから派生した機能に基づいてトレーニングおよび構築されています。 私たちが持っているデータは、モデルがそこから何かを学ぶのに十分ではない場合があります。 根本的な問題の解決策を見つける特徴を導き出すことができれば、それはデータの適切な表現であることがわかります。 データの表現が優れているほど、モデルの適合性が高くなり、モデルによってより良い結果が示されます。

データサイエンスプロジェクトのワークフローは、1回限りのプロセスではなく、反復的なプロセスです。 ほとんどのデータサイエンスプロジェクトでは、生データから機能を作成して改良した後にベースモデルが作成されます。 基本モデルの結果を取得すると、いくつかの既存の機能を微調整できます。また、モデルの結果を最適化するために、いくつかの新しい機能もデータから派生します。

特徴工学

特徴工学プロセスで使用される手法は、すべてのアルゴリズムとデータセットに対して同じ方法で結果を提供する場合があります。 特徴エンジニアリングプロセスで使用される一般的な手法のいくつかは次のとおりです。

1.価値の変革

特徴の値は、対数関数、ルート関数、指数関数などのパラメーターを使用して、他のメトリックに変換できます。これらの関数にはいくつかの制限があり、すべてのタイプのデータセットに使用できるとは限りません。 たとえば、ルート変換または対数変換は、負の値を含むフィーチャには適用できません。

最も一般的に使用される関数の1つは、対数関数です。 対数関数は、一方の端に向かって歪む可能性のあるデータの歪度を減らすのに役立ちます。 対数変換はデータを正規化する傾向があり、モデルのパフォーマンスに対する外れ値の影響を減らします。

また、フィーチャの値の大きさを減らすのにも役立ちます。 これは、値が大きい機能が他の機能よりも重要であると見なすアルゴリズムを使用している場合に役立ちます。

2.データの代入

データ代入とは、データセットの欠落している値を統計値で埋めることを指します。 一部のアルゴリズムは、他のアルゴリズムの使用を制限したり、これらの欠落値を代入したりする欠落値に対して機能しないため、この手法は重要です。 フィーチャの欠落値の割合が少ない場合(約5〜10%)に使用することをお勧めします。そうでない場合は、データの分布の歪みが大きくなります。 数値的およびカテゴリー的特徴に対してそれを行うためのさまざまな方法があります。

指定された範囲内の任意の値、または平均、中央値などの統計的尺度を使用して、数値特徴の欠落値を代入できます。統計的尺度は外れ値になりやすく、モデルのパフォーマンスを低下させる可能性があるため、これらの代入は慎重に行う必要があります。 。 カテゴリ機能の場合、データセットで欠落している追加のカテゴリで欠落している値を代入するか、カテゴリが不明な場合は単に欠落していると代入することができます。

前者は正しいカテゴリを見つけるためにドメイン知識のセンスが必要ですが、後者は一般化の代替手段です。 モードを使用して、カテゴリ機能を代入することもできます。 欠落している値の数が多すぎる場合、モードを使用してデータを代入すると、最も頻繁なラベルが過剰に表示される可能性もあります。

世界のトップ大学(修士、エグゼクティブ大学院プログラム、ML&AIの高度な証明書プログラム)からオンラインで人工知能コースに参加して、キャリアを早急に進めましょう。

3.カテゴリーエンコーディング

多くのアルゴリズムの要件の1つは、入力データが本質的に数値である必要があることです。 これは、そのようなアルゴリズムでカテゴリ機能を使用するための制約であることがわかります。 カテゴリ機能を数値で表すには、カテゴリエンコーディングを実行する必要があります。 カテゴリの特徴を数値に変換する方法のいくつかは次のとおりです。

1.ワンホットエンコーディング: –ワンホットエンコーディングは、カテゴリ機能の各ラベルの値(0または1)をとる新しい機能を作成します。 この新機能は、カテゴリのそのラベルが各観測に存在するかどうかを示します。 たとえば、カテゴリフィーチャに4つのラベルがあるとすると、ワンホットエンコーディングを適用すると、4つのブールフィーチャが作成されます。

すべての特徴に0が含まれている場合と同じ量の情報を、3つの特徴で抽出することもできます。その場合、カテゴリの特徴の値は4番目のラベルになります。 この方法を適用すると、データセットに多数のラベルを持つカテゴリフィーチャが多数ある場合に、フィーチャスペースが増加します。

2.頻度エンコーディング: –このメソッドは、カテゴリ機能の各ラベルの数またはパーセンテージを計算し、同じラベルに対してマップします。 この方法では、データセットの機能空間は拡張されません。 この方法の欠点の1つは、2つ以上のラベルがデータセット内で同じ数である場合、すべてのラベルに対して同じ数のマップが得られることです。 これにより、重要な情報が失われる可能性があります。

3.序数エンコーディング: –ラベルエンコーディングとも呼ばれるこのメソッドは、0からn-1の範囲の数値を持つカテゴリフィーチャの個別の値をマッピングします。nはフィーチャ内の個別のラベル数です。 この方法では、データセットの特徴空間は拡大されません。 ただし、フィーチャのラベル内に順序関係を作成します。

4.外れ値の処理

外れ値は、値が他のロットとは大きく異なるデータポイントです。 これらの外れ値を処理するには、最初にそれらを検出する必要があります。 Pythonの箱ひげ図や散布図などの視覚化を使用してそれらを検出することも、四分位範囲(IQR)を使用することもできます。 四分位範囲は、第1四半期(25パーセンタイル)と第3四半期(75パーセンタイル)の差です。

(Q1 – 1.5 * IQR)と(Q3 + 1.5 * IQR)の範囲にない値は、外れ値と呼ばれます。 外れ値を検出した後、データセットから外れ値を削除したり、変換を適用したり、何らかの方法を使用して外れ値を代入するために欠落値として処理したりすることで、外れ値を処理できます。

5.機能のスケーリング

フィーチャスケーリングは、フィーチャの値を変更し、それらを範囲内に収めるために使用されます。 値の大きさに敏感なSVM、線形回帰、KNNなどのアルゴリズムを使用している場合は、このプロセスを適用することが重要です。 機能をスケーリングするために、標準化、正規化、最小-最大スケーリングを実行できます。 正規化は、特徴範囲の値を-1から1に再スケーリングします。これは、各観測値の減算と、その特徴の最大値と最小値の減算に対する平均の比率です。 つまり、[X – mean(X)] / [max(X)– min(X)]です。

min-maxスケーリングでは、平均の代わりに特徴の最小値を使用します。 この方法は、特徴の最終値のみを考慮するため、外れ値に非常に敏感です。 標準化は、特徴の値を0から1に再スケーリングします。前者の方法では正規化されますが、データの分布は正規化されません。

6.日付と時刻の変数の処理

さまざまな形式で日付と時刻を示す多くの変数に出くわします。 月、曜日/月、年、週末などの日付、日付の違いなどからより多くの機能を導き出すことができます。これにより、データセットからより洞察に満ちた情報を抽出できます。 時間機能から、時間、分、秒などの情報を抽出することもできます。

ほとんどの人が見逃していることの1つは、すべての日付と時刻の変数が循環機能であるということです。 たとえば、水曜日(3)と土曜日(7)の間のどちらの日が日曜日に近いか(1であるか)を確認する必要があるとします。 これで、土曜日が近いことがわかりましたが、数値的には、3と1の間の距離が7と1の距離よりも短いため、水曜日になります。時間形式が24時間形式の場合も同様です。

この問題に取り組むために、これらの変数をsinおよびcos関数の表現として表すことができます。 「分」機能の場合、NumPyを使用してsinおよびcos関数を適用し、次のように循環的な性質で表すことができます。

minutes_feature_sin = np.sin(df ['minute_feature'] *(2*π/60))

minutes_feature_cos = np.cos(df ['minute_feature'] *(2*π/60))

(注:1時間に60分あるため、60で除算します。数か月間実行する場合は、12で除算します)。

これらの特徴を散布図にプロットすると、これらの特徴がそれらの間で循環的な関係を示すことがわかります。

また読む:機械学習プロジェクトのアイデアとトピック

結論

この記事では、特徴工学のプロセスで使用されるいくつかの一般的な手法を引用するとともに、特徴工学の重要性に焦点を当てました。 上記のすべての手法のどれがより良い洞察を提供するかを決定するのは、アルゴリズムと手元のデータに依存します。

しかし、データセットが異なる可能性があり、データに使用されるアルゴリズムも異なる可能性があるため、これは実際には難しい問題であり、想定するのは安全ではありません。 より良いアプローチは、特徴工学を無謀に実行するのではなく、インクリメンタルアプローチに従い、結果とともに構築されたモデルを追跡することです。

機械学習について詳しく知りたい場合は、IIIT-BとupGradの機械学習とAIのエグゼクティブPGプログラムをご覧ください。このプログラムは、働く専門家向けに設計されており、450時間以上の厳格なトレーニング、30以上のケーススタディと課題、IIITを提供しています。 -B卒業生のステータス、5つ以上の実践的なキャップストーンプロジェクト、トップ企業との雇用支援。

平均中央値ベースのデータ代入手法を使用することの短所は何ですか?

平均代入を使用する場合、変数間のリンクと相関は保持されません。 ただし、平均を代入すると、観測データの平均が維持されます。 その結果、すべてのデータがランダムに欠落している場合でも、平均推定値は不偏のままになります。 代入された変数の分散は、平均代入を使用して削減されます。 平均代入は標準誤差を減らし、ほとんどの仮説検定と信頼区間の計算を不正確にします。 このように、タイプIのエラーは無意識のうちに発生します。

なぜ特徴抽出が必要なのですか?

特徴抽出は、分類器の有効性を向上させるために、特徴の最小かつ最も有益なコレクション(個別のパターン)を見つけるために使用されます。 特徴抽出は、データ収集内の不要なデータを削減するのに役立ち、関連する情報と特徴のみに重点が置かれます。 最後に、データを減らすことで、機械がより少ない労力でモデルを開発しやすくなるだけでなく、機械学習プロセスの学習および一般化プロセスが高速化されます。 特徴エンジニアリングの最も重要なアプリケーションは、特徴抽出が重要な要素である生物医学信号分類です。これは、特徴を慎重に選択しないと、分類のパフォーマンスが低下する可能性があるためです。

特徴抽出手法を使用することの短所はありますか?

特徴抽出は、一般の人々が読んだり理解したりすることができないいくつかの新機能を生み出しました。 スケーラビリティは、特徴抽出中に直面するもう1つの課題です。 データセットが大きい場合、一部の特徴抽出手法を実行できなくなります。 特に、複雑な非線形特徴抽出アプローチを実装することは不可能です。 ほとんどの手法は、特徴選択の問題を効率的に処理するために何らかの形式の近似に依存していますが、特定の状況では、正確な問題に取り組むことができません。