データクリーニング


データクリーニングは、データのエラーを識別して、それらを整流することによって、「掃除」データのプロセスを意味する.
データクリーニングの主な目的は、信頼性の高いデータセットを作成するために、エラーと重複するデータを特定し、削除することです.
このチュートリアルの基礎として魚データセットを使用します.

魚データセット


「魚データセット」は機械学習データセットである.
タスクは魚の重量を予測することが含まれます.
ここでデータセットにアクセスできます.
https://www.kaggle.com/aungpyaeap/fish-market)
         from pandas import read_csv
         from numpy import unique
         import pandas as pd
         import seaborn as sns
         import matplotlib.pyplot as plt
         import numpy as np
         fish = pd.read_csv("Fish.csv")
データはどのように見えますか?

不足値を埋める


データセットのエラーを修正する最初の手順の1つは、不完全な値を見つけ、それらを埋めることです.ほとんどのデータを分類することができますがあります.
ほとんどの場合、それは別のカテゴリに基づいて不足している値を埋めるために、または不足している値を含むように完全に新しいカテゴリを作成するのがベストです.
データが数値の場合は、平均値と中央値を使用してエラーを修正できます.
データセットをチェックしましょう

ご覧のように、この場合、行方不明の値はありません.

欠落した値を持つ行の削除


データの浄化に行う最も簡単なことの一つは、行方不明の値を持つ行を削除または削除することです.これはあなたのトレーニングデータのエラーの膨大な量の場合に理想的なステップではない可能性があります.
不足している値がかなり少ないならば、行方不明の値を削除するか、削除することは正しいアプローチでありえます.あなたが削除しているデータがトレーニングデータの他の行に存在する情報を含んでいないことを確認する必要があります.
注意:この例では、欠落した値はありません.しかし、これは必ずしもそうではありません.

データセットのエラーの修正


大文字小文字を区別しないでください.
あなたのデータセットを通過し、そのようなエラーを識別し、あなたのトレーニングセットを完全にエラーが無料であることを確認するためにそれらを解決します.これはあなたのマシンの学習機能からより良い結果をもたらすのに役立ちます.

単一の値を含む列を識別する


単一の観測値や値を持つ列はおそらくモデリングには役に立たない.
これらのカラムまたは予測子は、分散(平均からの平均値)を測定したかのようにゼロ分散予測子と呼ばれます.
予測子が1つの値を含むとき、これは予測器によって表示される変化が全くないので、これをゼロ分散予測器と呼びます.
このプロパティを持つ行を、各列の一意の値の数を報告するnuniquey pandas関数を使用して検出できます.

単一の値を含む列を削除する


単一の値を持つ変数または列は、おそらくデータセットから削除されるはずです.
上記の写真からカラム種は単一の値を持つことがわかった.
カラムはnumpy配列やpandas dataframeから削除するのが比較的簡単です.
つのアプローチは、単一の一意の値を持つすべての列を記録し、Drop ()関数を呼び出して、Pandas DataFrameから削除します.

重複データを含む行の識別


同一のデータを持つ行は、おそらくモデル評価中に危険な誤解を招くことはありません.
重複行は、その行の各列の各値が、別の行に同じ順序(同じ列値)で表示される行です.
pandas function duplicate ()は、与えられた行が重複しているかどうかを報告します.すべての行は、それが重複していることを示すか、またはそれが複製であることを示すためにtrueでないことを示します.重複している場合は、行の最初の出現はfalse(デフォルトでは)、私たちが期待するようにマークされます.

最初に、どんな重複した行の存在も報告されます、そして、この場合、我々は重複(false)がないのを見ることができます.
しかし、重複がある場合には、pandas関数dropound duplicate ()を使用して重複行を削除することもできます.

結論


データのクリーニングは、任意の機械学習機能の成功のための重要なプロセスです.大部分の機械学習プロジェクトのために、努力のおよそ80パーセントは、データ掃除に費やされます.その点について論じた.