機械学習モデルに不可欠な 5 つのデータ前処理手法

機械学習モデルに不可欠な 5 つのデータ前処理手法

[[324419]]

データ サイエンス プロジェクトに取り組んだことがある場合、データ マイニングの最初の主要なステップはデータの前処理であることをご存知でしょう。実際の問題では、取得する生データが非常に乱雑なため、機械学習モデルがパターンを認識してそこから情報を抽出できないことがよくあります。

1. null値の処理:

NULL 値とは、データ内の任意の行または列に存在しない値です。レコードが存在しないかデータが破損しているため、Null 値が発生する可能性があります。 Python では、これらは「Nan」としてマークされます。次のコードを実行すると確認できます

  1. データ.isnull().sum()

これらの空の値には、列の平均値または列内で最も頻繁に出現する項目を入力することができます。または、Nan を -999 のようなランダムな値に置き換えることもできます。 pandas ライブラリの fillna() 関数を使用して Nan 値を入力できます。列に null 値が大量に含まれている場合 (たとえば 50% 以上)、その列をデータフレームから削除したほうがよいでしょう。同じ列内の null ではない k 個の最も近い近傍の値で null 値を入力することもできます。 Sklearn の KNNImputer() は、このタスクを実行するのに役立ちます。

2. 外れ値の取り扱い:

外れ値とは、データ内の他の値から一定の距離にあるデータ ポイントのことです。外れ値を検出するには、ボックスプロットなどの視覚化ツールを使用できます。

2 つの固有ベクトル間の散布図を作成すると、次のようになります。

散布図の外れ値

これらのデータ ポイントが存在する範囲など、データの背後にある科学的事実を理解していれば、外れ値を除外できます。たとえば、年齢がデータの特徴である場合、年齢は 0 から 100 の間 (場合によっては 0 から 130 の間) でなければならないことがわかります。ただし、データ内の年齢の値が 300 など、やや不合理な場合は、削除する必要があります。機械学習モデルの予測が重要である場合、つまり小さな変化が重要である場合は、これらの外れ値を破棄しないでください。同様に、外れ値が大量に存在する場合(たとえば、25% 以上)、それらが何か有用なものを表す可能性が高くなります。この場合、外れ値がないか注意深く確認する必要があります。

3. 正規化またはデータのスケーリング:

K 近傍法、線形回帰、K 平均法クラスタリング、ニューラル ネットワークなどの距離ベースの機械学習アルゴリズムを使用している場合は、データを機械学習モデルに取り込む前に正規化することをお勧めします。正規化とは、数値特徴の値を変更して、それらの相関関係を変えずに共通のスケールに合わせることを指します。異なる数値特徴の値が異なる範囲にあると、モデルのパフォーマンスが低下する可能性があるため、正規化により、予測を行うときに特徴に適切な重みが割り当てられるようになります。一般的に使用される正規化手法は次のとおりです。

a) 最小最大正規化 - 特徴量を最小値と最大値の間の指定された範囲にスケーリングします。式は次のとおりです。

X(スケール)=a+ (ba)(X - Xmin)/(Xmax - Xmin)

ここで、a は最小値、b は最大値です。

b) Z スコア正規化 - 各特徴から平均を減算し、その標準偏差で割ります。これにより、結果として得られるスケーリングされた特徴の平均はゼロ、分散は 1 になります。式は次のとおりです。

X(スケール)=(X - 平均(X))/σ

この方法で、データの分布を正規分布に変更できます。

4. カテゴリ特徴のエンコード

カテゴリ特徴は、離散データ値を含む特徴です。カテゴリ特徴のデータ値として文字、単語、記号、または日付が含まれる場合、機械学習モデルは数値データのみを扱うため、このデータを数値にエンコードして機械学習モデルが理解できるようにする必要があります。データをエンコードする方法は 3 つあります。

a) ラベルエンコーディング: このタイプのエンコーディングでは、カテゴリ特徴の各離散値に、アルファベット順に基づいて一意の整数が割り当てられます。以下の例では、各果物に対応する整数ラベルが割り当てられていることがわかります。

ラベル エンコーディングは通常、線形回帰、ロジスティック回帰、ニューラル ネットワークなどの線形モデルに適用できます。

b) ワンホット: このタイプのエンコーディングでは、カテゴリ特徴の各離散値に、一意のワンホット ベクトルまたは 1 と 0 で構成されるバイナリ ベクトルが割り当てられます。ワンホットベクトルでは、離散値のインデックスのみが 1 としてマークされ、他のすべての値は 0 としてマークされます。以下の例では、各果物に長さ 5 の対応するワンホット ベクトルが割り当てられていることがわかります。

ワンホットエンコーディングは、ランダムフォレストや勾配ブースティングマシンなどのツリーベースのモデルでうまく機能することがよくあります。

c) 平均エンコーディング - このタイプのエンコーディングでは、カテゴリ特徴内の各離散値が、対応する平均ターゲット ラベルでエンコードされます。よりよく理解するために、次の例を見てみましょう。

果物のラベルは 3 つあります [「リンゴ」、「バナナ」、「オレンジ」]。各果物のラベルの平均的なエ​​ンコード式は次のとおりです。

エンコードされた特徴 = 実際のターゲット数/合計ターゲット数

Apple の場合、真のターゲットは 3 で、合計ターゲットは 4 なので、Apple の平均エンコーディングは 3/4 = 0.75 になります。同様に、オレンジのエンコーディングは 1/2 = 0.5、バナナのエンコーディングは 3/3 = 1 です。平均エンコーディングはラベル エンコーディングの拡張バージョンであり、ターゲット ラベルを考慮するため、より論理的に使用できます。

5. 離散化:

これは優れた前処理手法でもあり、データのサイズを縮小することでモデルのパフォーマンスが向上することもあります。主に数値機能に使用されます。離散化では、数値特徴がビン/間隔に分割されます。各ビンには特定の範囲内の値が含まれます。ビン内の値の数は同じでも異なっていてもよく、各ビンはカテゴリ値と見なされます。離散化を使用して、数値特徴をカテゴリ特徴に変換できます。

これらは、機械学習モデルを実装するときにデータを前処理するために使用できるさまざまな方法です。この記事がお役に立てば幸いです。

<<:  詳細 | ビッグデータアルゴリズムアプリケーションのテストの開発

>>:  脳に WiFi を入れると麻痺が治る?麻痺したサルが6日で普通に歩けるようになる

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

アリババのロボットが200語のエッセイを修正し、8つの間違いを発見

最近、浙江外国語大学国際学院で、アリババAIが試験の採点を完了し、200語のエッセイに8つの誤りを発...

アルゴリズム学者: 複雑なデータ世界のブラックボックスを開く人々

この記事は、Viktor Mayer-Schönberger と Kennedy Cukier によ...

AI医用画像の春が再び到来?

概要: AI医用画像診断市場は急速な成長期を迎えつつあり、医師の負担を軽減しながら医療の質の向上も期...

297 件の論文すべてを 1 つの記事で読むことができます。中国科学院が「拡散モデルに基づく画像編集」に関する初のレビューの出版を主導

この記事では、画像編集の最先端の手法を包括的に研究し、技術的なルートに基づいて 3 つの主要なカテゴ...

人工知能の今後の発展における3つの大きなトレンド、それぞれが驚きである

人工知能は、知能機械や機械知能とも呼ばれ、人間が作った機械が示す知能を指します。人工知能は、医療、テ...

...

...

ディープラーニングを使用してPythonコードを自動的に補完するこのオープンソースプロジェクトは非常に素晴らしい

コード補完機能は IDE では非常に一般的です。優れたコード自動補完機能により、作業効率が大幅に向上...

...

Nature: 地域や文化を超えて、AIはすべての人間に共通する16の表情を認識する

人々の間には大きな違いがしばしばありますが、私たちの存在にはほぼすべての人に共通する要素が数多くあり...

AI、IoT、VR、AR、ブロックチェーン、クラウドコンピューティングで建設業界を変革

AI、IoT、ブロックチェーン、AR、VR、クラウドコンピューティング技術が建設業界に新たな形をもた...

...

アリババ人工知能ラボ:テクノロジーがあなたの生活をどう変えるかを見てみましょう

[PConline News] ジャカルタアジア競技大会が閉幕し、アジア競技大会は正式に杭州タイムに...

クラウドに人工知能を導入する際の 10 の考慮事項

クラウド コンピューティングは、あらゆる規模の企業がインターネット経由で多様なオンデマンドの仮想 I...

...