データ サイエンス プロジェクトに取り組んだことがある場合、データ マイニングの最初の主要なステップはデータの前処理であることをご存知でしょう。実際の問題では、取得する生データが非常に乱雑なため、機械学習モデルがパターンを認識してそこから情報を抽出できないことがよくあります。 1. null値の処理:NULL 値とは、データ内の任意の行または列に存在しない値です。レコードが存在しないかデータが破損しているため、Null 値が発生する可能性があります。 Python では、これらは「Nan」としてマークされます。次のコードを実行すると確認できます
これらの空の値には、列の平均値または列内で最も頻繁に出現する項目を入力することができます。または、Nan を -999 のようなランダムな値に置き換えることもできます。 pandas ライブラリの fillna() 関数を使用して Nan 値を入力できます。列に null 値が大量に含まれている場合 (たとえば 50% 以上)、その列をデータフレームから削除したほうがよいでしょう。同じ列内の null ではない k 個の最も近い近傍の値で null 値を入力することもできます。 Sklearn の KNNImputer() は、このタスクを実行するのに役立ちます。 2. 外れ値の取り扱い:外れ値とは、データ内の他の値から一定の距離にあるデータ ポイントのことです。外れ値を検出するには、ボックスプロットなどの視覚化ツールを使用できます。 2 つの固有ベクトル間の散布図を作成すると、次のようになります。 散布図の外れ値 これらのデータ ポイントが存在する範囲など、データの背後にある科学的事実を理解していれば、外れ値を除外できます。たとえば、年齢がデータの特徴である場合、年齢は 0 から 100 の間 (場合によっては 0 から 130 の間) でなければならないことがわかります。ただし、データ内の年齢の値が 300 など、やや不合理な場合は、削除する必要があります。機械学習モデルの予測が重要である場合、つまり小さな変化が重要である場合は、これらの外れ値を破棄しないでください。同様に、外れ値が大量に存在する場合(たとえば、25% 以上)、それらが何か有用なものを表す可能性が高くなります。この場合、外れ値がないか注意深く確認する必要があります。 3. 正規化またはデータのスケーリング:K 近傍法、線形回帰、K 平均法クラスタリング、ニューラル ネットワークなどの距離ベースの機械学習アルゴリズムを使用している場合は、データを機械学習モデルに取り込む前に正規化することをお勧めします。正規化とは、数値特徴の値を変更して、それらの相関関係を変えずに共通のスケールに合わせることを指します。異なる数値特徴の値が異なる範囲にあると、モデルのパフォーマンスが低下する可能性があるため、正規化により、予測を行うときに特徴に適切な重みが割り当てられるようになります。一般的に使用される正規化手法は次のとおりです。 a) 最小最大正規化 - 特徴量を最小値と最大値の間の指定された範囲にスケーリングします。式は次のとおりです。
ここで、a は最小値、b は最大値です。 b) Z スコア正規化 - 各特徴から平均を減算し、その標準偏差で割ります。これにより、結果として得られるスケーリングされた特徴の平均はゼロ、分散は 1 になります。式は次のとおりです。
この方法で、データの分布を正規分布に変更できます。 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日で普通に歩けるようになる
「台北市信義路バスレーン自動運転バスイノベーション実験プロジェクト」は台北市で長らくテストされており...
誰もが独自の大規模モデルをアップグレードして反復し続けるにつれて、コンテキスト ウィンドウを処理する...
人工知能とデータサイエンス、機械学習のトレンドとデータ分析AIはますますあらゆるビジネス戦略の一部に...
お父さん、機械学習って何ですか?答えるのは難しい!髪の毛が抜け始めた頭を掻いた後でも、お父さんはこの...
業界の専門家が、業界内で発生する運用上の課題の解決に AI がどのように役立つか、データ センター業...
[[423132]]自動化では、テクノロジーを利用して、さまざまなタスクにおける人間の労力を強化しま...
新しい研究(ETH チューリッヒによる)では次のことがわかりました。大規模モデルの「人間による検索」...
[[436214]]パーソナライゼーションと自動化は、ユーザー エクスペリエンスの品質を向上させるた...
COVID-19の流行、メンタルヘルスの危機、医療費の高騰、人口の高齢化により、業界のリーダーたちは...
今日の自動車メーカーは、市場での地位を今後も維持したいのであれば、強力な自動運転技術を確立しなければ...
機械学習の分野では、いくつかのモデルが非常に効果的ですが、その理由は完全にはわかっていません。逆に、...