データマイニングにおけるデータ前処理:ステップ、欠落値の代入、データの標準化

公開: 2020-12-30

データサイエンティストの仕事で最も時間のかかる部分は、手元のデータを準備して前処理することです。 実際のシナリオで取得するデータはクリーンではなく、モデリングには適していません。 機械学習モデルにフィードする前に、データをクリーンアップし、特定の形式に変換して変換する必要があります。

このチュートリアルを終了すると、次のことがわかります。

  • データ前処理を行う理由
  • データクリーニング
  • 欠落した値の代入
  • データの標準化
  • 離散化

目次

なぜデータ前処理?

ウェブサイトを廃棄して他のデータソースからデータを収集することでデータを取得する場合、通常、データには不一致がたくさんあります。 これは、フォーマットの問題、欠落した値、ガベージ値、テキスト、さらにはデータのエラーである可能性があります。 モデルが学習して一般化できるように、モデルに供給されるデータがマークに達していることを確認するために、いくつかの前処理ステップを実行する必要があります。

データクリーニング

最初の最も重要なステップは、データの不規則性を取り除くことです。 この手順を実行しないと、データの統計から多くの意味を理解することはできません。 これらは、フォーマットの問題、ガベージ値、および外れ値である可能性があります。

フォーマットの問題

ほとんどの場合、データは表形式である必要がありますが、そうではありません。 データの列名が欠落しているか正しくない、列が空白である可能性があります。 さらに、画像やテキストなどの非構造化データを処理する場合、モデリングのために2Dまたは3Dデータをデータフレームにロードすることが最も重要になります。

ガベージバリュー

多くのインスタンスまたは完全な列には、実際に必要な値に特定のガベージ値が追加されている場合があります。 たとえば、「#1」、「#3」、「#12」、「#2」などの値を持つ列「rank」について考えてみます。ここで、先行するすべての「#」を削除することが重要です。モデルに数値をフィードできるようにする文字。

外れ値

多くの場合、特定の数値は、特定の列の平均値よりも大きすぎるか小さすぎます。 これらは外れ値と見なされます。 外れ値は特別な処理が必要であり、処理するのに敏感な要素です。 これらの外れ値は、測定誤差である場合もあれば、実際の値である場合もあります。 重要な情報が多く含まれている可能性があるため、完全に削除するか、個別に処理する必要があります。

欠測値

データにすべてのインスタンスのすべての値が含まれることはめったにありません。 多くの値が欠落しているか、ガベージエントリで埋められています。 これらの欠落値は処理する必要があります。 これらの値には、欠落している可能性がある複数の理由が考えられます。 センサーエラーやその他の要因により欠落している可能性があります。また、完全にランダムに欠落している可能性もあります。

読む:インドのデータマイニングプロジェクト

ドロップ

最も簡単で簡単な方法は、値が欠落している行を削除することです。 これを行うと、重要な情報が失われるなど、多くの欠点があります。 データ量が膨大な場合は、欠落している値を削除することをお勧めします。 ただし、データが少なく、欠落している値が多い場合は、この問題に対処するためのより良い方法が必要です。

平均/中央値/最頻値の代入

欠落している値を代入する最も簡単な方法は、列の平均値を代入することです。 ただし、データの元の分布を妨げるため、欠点があります。 また、単純な平均よりも一般的に優れている中央値または最頻値を代入することもできます。

線形補間とKNN

よりスマートな方法を使用して、欠落値を代入することもできます。 そのうちの2つは、予測される特徴として空白値を持つ列を処理することによる複数のモデルを使用した線形補間です。 もう1つの方法は、KNNによるクラスタリングを使用することです。 KNNは、特定の機能の値のクラスターを作成してから、クラスターに最も近い値を割り当てます。

データの標準化

複数の数値特徴を持つデータセットでは、すべての特徴が同じスケールではない場合があります。 たとえば、機能「距離」の距離は1300、800、560などのメートル単位です。また、別の機能「時間」の時間は1、2.5、3.2、0.8などの時間単位です。したがって、これら2つの機能の場合モデルにフィードされると、値が大きいほど距離のあるフィーチャがより多くの重みを持っていると見なされます。 このシナリオを回避し、収束を高速化するには、すべての機能を同じスケールにする必要があります。

正規化

機能をスケーリングする一般的な方法は、それらを正規化することです。 Scikit-learnのノーマライザーを使用して実装できます。はなく、行で機能します。 L2正規化は各観測値に適用されるため、行の値はスケーリング後に単位ノルムを持ちます。

最小最大スケーリング

Min Maxスケーリングは、Scikit-learnのMinMaxScalerクラスを使用して実装できます。 特徴の最小値を差し引き、次に範囲で除算します。範囲は、元の最大値と元の最小値の差です。 元の分布の形状を保持し、デフォルトの範囲は0-1です。

標準スケーリング

標準スケーラーは、Scikit-learnのクラスを使用して実装することもできます。 これは、平均を減算してから単位分散にスケーリングすることによって機能を標準化します。ここで、単位分散は、すべての値を標準偏差で除算することを意味します。 分布の平均を0にし、標準偏差を1にします。

離散化

多くの場合、データはカテゴリ形式ではなく数値形式ではありません。 たとえば、値が「高」、「低」、「中」の機能「温度」について考えてみます。 これらのテキスト値は、モデルをトレーニングできるように数値形式でエンコードする必要があります。

カテゴリデータ

カテゴリデータは、数値形式にするためにラベルエンコードされています。 したがって、「高」、「中」、および「低」は、3、2、および1にラベルエンコードできます。カテゴリ機能は、公称または通常のいずれかになります。 順序カテゴリの特徴は、特定の順序を持​​つものです。 たとえば、上記の場合、温度を測定/定量化できるため、3>2>1と言えます。

ただし、「Delhi」、「Jammu」、「Agra」などの値を持つ「City」の特徴を測定できない例では。 つまり、3、2、1としてラベル付けする場合、「Delhi」>「Jammu」はあまり意味がないため、3>2>1とは言えません。 このような場合、OneHotEncodingを使用します。

連続データ

連続値を持つ特徴は、値を特定の範囲のビンにビニングすることによって離散化することもできます。 ビニングとは、連続値の範囲に基づいて、数値または連続の特徴を離散的な値のセットに変換することを意味します。 これは、データポイントがどの範囲にあるかに基づいて傾向を確認する場合に便利です。

たとえば、0〜100の範囲の7人の子供にマークがあるとします。 これで、すべての子供のマークを特定の「ビン」に割り当てることができます。 これで、ビン1、2、および3にそれぞれ属する範囲0〜50、51〜70、および71〜100の3つのビンに分割できます。 したがって、フィーチャーにはこれら3つの値の1つのみが含まれるようになります。 Pandasは、ビニングをすばやく実現するために、qcutとcutの2つの機能を提供します。

Pandas qcutは分位数の数を取り込み、データ分布に基づいてデータポイントを各ビンに分割します。

一方、Pandas cutは、私たちが定義したカスタム範囲を取り込み、それらの範囲のデータポイントを分割します。

関連記事:機械学習におけるデータ前処理

世界のトップ大学からデータサイエンスコース学びましょうエグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。

結論

データ前処理は、データマイニングと機械学習のタスクに不可欠なステップです。 私たちが議論したすべてのステップは確かにすべてではありませんが、プロセスの基本的な部分のほとんどをカバーしています。 データの前処理手法は、NLPデータと画像データでも異なります。 上記の手順の例を試して、データマイニングパイプラインに実装してください。

データサイエンスについて知りたい場合は、IIIT-BとupGradのデータサイエンスのPGディプロマをチェックしてください。これは、働く専門家向けに作成され、10以上のケーススタディとプロジェクト、実践的なハンズオンワークショップ、業界の専門家とのメンターシップ、1- on-1業界のメンター、400時間以上の学習、トップ企業との仕事の支援。

データ前処理とは何ですか?その重要性は何ですか?

これは、画像、テキスト、ビデオの形式で生の非構造化データを提供する手法です。 このデータは、後で分析できるように、最初に前処理されて不整合、エラー、および冗長性が削除されます。

生データは、機械が理解できる関連データに変換されます。 データの前処理は、モデリングのためにデータを変換するための重要なステップです。 処理しないと、実質的に役に立たない。

データの前処理に含まれる手順は何ですか?

データの前処理には、プロセス全体を完了するためのさまざまなステップが含まれます。 データは最初にクリーンアップされてノイズが除去され、欠落している値が埋められます。 この後、データは複数のソースから統合され、単一のデータセットに結合されます。 これらのステップの後に、変換、削減、および離散化が続きます。

生データの変換には、データの正規化が含まれます。 削減と離散化は、基本的にデータの属性とディメンションの削減を扱います。 これに続いて、この大量のデータセットが圧縮されます。

単変量法と多変量法の違いは何ですか?

単変量法は、外れ値を処理するための最も簡単な方法です。 これは単一変量であり、その主な目的はデータを分析し、それに関連するパターンを決定することであるため、関係の概要は示していません。 平均、中央値、最頻値は、単変量データに見られるパターンの例です。

一方、多変量法は、3つ以上の変数を分析するためのものです。 単変量法とは異なり、多変量法は関係とパターンを処理するため、以前の方法よりも正確です。 加法ツリー、正準相関分析、およびクラスター分析は、多変量分析を実行する方法の一部です。