1.データ欠落処理
1.欠損データの分類
- 行レコードの欠如(欠落データレコードとも呼ばれます)
- 列の値が欠落している、つまり、データレコードの一部の列の値が欠落している
2.欠落しているデータ列を処理するアイデア
2.1破棄
- 行または列全体を削除して、欠落データの全体的な影響を軽減します
- この方法は、多数のデータレコードが不完全である場合、または欠損値の特徴がより明白な場合には使用されないことに注意してください。
2.2完了
通常、以下の方法があります
- 統計的方法:
- 数値データの場合、平均、加重平均、中央値などの方法を使用して完了します。
- サブタイプのデータについては、モード補完を選択します
- モデル方式:欠落しているフィールドをターゲット変数として使用し、既存の他のフィールドに基づいて予測を行い、完成した値を取得します。
- 数値変数の場合、回帰モデルを使用します。
- 分類変数については、分類モデルを使用します
- 業界法:重要な少量のデータについては、業界の専門家が記入
- その他の方法:ランダム法、特別値法、検索法
2.3真理の変換
- 不足しているデータを原則として考慮し、後続の処理やモデリングに参加するための入力ディメンションとして使用する必要がある場合、任意に処理することはできません。このときに採用されている処理の考え方は、真の値の変換です。
- 例の説明:ユーザーの性別フィールドを例にとると、多くのデータセットは性別処理を完了できず破棄できないため、欠損値は不明な変数として使用され、男性と女性の変数は1つの変数の複数の値分布から複数に変換されます変数の真の分布状態。
- 変換前:性別(範囲:男性、女性、不明)
- 変換後:Gender_Male(値の範囲1または0)、Gender_ Female(値の範囲1または0)、Gender_Unknown(値の範囲1または0)
- 最後に、これらの3つの新しいフィールドは、後続のモデリングプロセスに参加するために元の1つのフィールドを置き換えるための入力ディメンションとして使用されます
2.4治療なし
- このアイデアは、後続のモデリングアプリケーションとデータ分析にあります。多くのモデルには欠損値に対する許容誤差方法があるため、前処理段階で処理することはできません。
- モデルの例:決定木とランダムフォレスト、ニューラルネットワーク、ナイーブベイズ、KNNなど
- さらに、後のモデリングでのフィールドまたは機能の重要性の判断により、欠損値を処理するかどうかも決定されます
3.特定の操作(Python)
- データに欠損値があるかどうかを判別します。isnull()
- 各列の判定結果を取得:任意()
- 変数の欠損値の数を計算します:sum()
- データセットの行数と列数を計算します:形状、戻り値:(行数、列数)
3.1データ列(変数)の欠損値を特定する
コードは次のとおりです
インポートPANDAS AS PD DATAL = pd.read_csv() #は、各変数の欠損値があるか否かを判断 data1.isnullは()。(任意の軸= 0) #の変数に欠損値の数が (data1.isnull)。和(軸= 0) #の変数に欠損値の割合 data1.isnull()。和(軸= 0)/data1.shape [0]
3.2データ行の欠損値を特定する
コードは次のとおりです
#かどうかは、欠落データ値決意行がある data1.isnull()任意の(軸= 1 ).ANY() #の値を欠落している行の数 data1.isnull()任意の(軸= 1 ).SUMを() #欠損値 data1.isnull()の比率。任意(軸= 1).sum()/ data1.shape [0]