データ前処理: データ準備の鍵を探る — SitePoint
ホームページホームページ > ブログ > データ前処理: データ準備の鍵を探る — SitePoint

データ前処理: データ準備の鍵を探る — SitePoint

Sep 13, 2023

この記事では、データ前処理とは何か、それがなぜ重要なのか、そしてデータをクリーンアップ、変換、統合、削減する方法について説明します。

データの前処理これは、データ分析と機械学習の基本的なステップです。 これは、データ主導の取り組みを成功させるための準備となる複雑なプロセスです。

データ前処理の中核には、精製されていない生のデータを、洞察力に富んだ分析とモデリングに適した構造化された一貫した形式に変換するための一連の技術が含まれます。

この重要な準備段階は、データから貴重な知識と知恵を抽出し、さまざまな領域にわたる意思決定と予測モデリングを強化するためのバックボーンです。

データの前処理の必要性は、現実世界のデータに固有の不完全性と複雑さから生じます。 さまざまなソースから取得されることが多い生データには、欠損値、外れ値、不一致、ノイズが多く含まれる傾向があります。 これらの欠陥は分析プロセスを妨げ、導き出される結論の信頼性と正確性を危険にさらす可能性があります。 さらに、さまざまなチャネルから収集されたデータは規模、単位、形式が異なる場合があるため、直接比較するのは難しく、誤解を招く可能性があります。

データの前処理には通常、データ クリーニング、データ変換、データ統合、データ削減などのいくつかの手順が含まれます。 以下でそれぞれを順番に見ていきます。

データクリーニングデータ内のエラー、不一致、および不正確さを特定して修正することが含まれます。 データ クリーニングで使用される標準的な手法には次のようなものがあります。

これらのデータ クリーニング手法について、順番に説明していきます。

欠損値の処理は、データ前処理の重要な部分です。 データが欠損している観測は、この手法に基づいて処理されます。 欠損値を処理するための 3 つの標準的な方法について説明します。欠損値のある観測値 (行) を削除する方法、統計ツールを使用して欠損値を代入する方法、機械学習アルゴリズムを使用して欠損値を代入する方法です。

カスタム データセットを使用して各手法をデモンストレーションし、各メソッドの出力について説明し、欠損値を処理するこれらの手法すべてを個別に説明します。

欠損値に対処する最も簡単な方法は、欠損値を含む行を削除することです。 この方法は、重要なデータを含む行を削除することでデータセットに影響を与える可能性があるため、通常は推奨されません。

例を使ってこの方法を理解しましょう。 年齢、収入、教育データを含むカスタム データセットを作成します。 一部の値を NaN (数値ではない) に設定することで欠損値を導入します。 NaN は、無効または未定義の結果を示す特別な浮動小数点値です。 NaN を含む観測値は、Pandas ライブラリの Dropna() 関数を使用して削除されます。

上記のコードの出力を以下に示します。 出力は枠付きの表形式では生成されないことに注意してください。 以下に示すように、出力をより解釈しやすくするために、この形式で提供しています。

元のデータセット

クリーンアップされたデータセット

欠損値のある観測値はクリーンなデータセットから削除されるため、欠損値のない観測値のみが保持されます。 クリーンアップされたデータセットには行 0 と行 4 のみが含まれていることがわかります。

欠損値のある行または列を削除すると、データセット内の観測値の数が大幅に減少する可能性があります。 これは、機械学習モデルの精度と一般化に影響を与える可能性があります。 したがって、十分な大きさのデータセットがある場合、または欠損値が分析に不可欠ではない場合にのみ、このアプローチを慎重に使用する必要があります。

これは、以前の方法と比較して欠損データを処理するためのより洗練された方法です。 欠損値を、平均値、中央値、最頻値、定数値などの統計情報に置き換えます。

今回は、年齢、収入、性別、および欠損 (NaN) 値を含む marital_status データを含むカスタム データセットを作成します。 次に、Pandas ライブラリの fillna() 関数を使用して、欠損値を中央値で代入します。