欠損値の処理【python前処理覚書】

pythonLOGO

最近読んでいる本で、pythonの前処理について、データの前処理について、とてもシンプルに書かれていて良かったので、アウトプットしておこうかと思います。

この記事で分かること

pythonでデータ分析をする前の、データ内に未入力箇所(欠損値、null)が入っていた時、とりあえずのデータ処理方法が順に進められます。

参考文献はこちら

データに欠損値があるかどうか確認する方法

df.isnull()で、nullとなっているフィールドを.sum()でカウントし、それをdisplayで表示させています。

出力はこんな感じ
(参考文献のとおり『タイタニックデータセット』を使っています。)

これでそれぞれ

年齢、乗船港コード、デッキにそれぞれ欠損値があることが分かりました。
それぞれの処理について書いていきます。

全体に影響が出ないほど少ない→行ごと削除する

dropna()関数:欠損値の削除

数値データは、平均値を代入する

fillna()関数:欠損値に代入

質的データは、ダミーコードを代入する

replace()関数:指定のフィールドに代入

2値のラベルを数値化する

例えば、male/femaleという2値のデータはそのままでは、学習モデルに入れられないので、

male → 1
female → 0

に置き換える。replace()関数でも良いが、map関数が便利

多値ラベルの数値化はOne-Hotエンコーディング

get_dummies関数を使う

正規化する

入力データの絶対値は -1 ~ 1 の範囲内の方が制度がよくなるため、正規化を行う

だいたいこれでOKなんじゃないでしょうか。




 

あ、宜しければ・・・。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です