【機械学習】Kaggle演習〜Titanic : Machine Learning from Disaster〜2

前回でデータ取り込みまで完了。

【機械学習】Kaggle演習〜Titanic : Machine Learning from Disaster〜

データサイズ

test(418, 11)
train(891, 12)

基本統計の確認

test.describe()

train.describe()

データサイズとcountを比べるとデータ欠損がみられるのでデータ欠損の確認。

データ欠損確認

欠損データをisnullで探す。

def kesson_table(df): 
        null_val = df.isnull().sum()
        percent = 100 * df.isnull().sum()/len(df)
        kesson_table = pd.concat([null_val, percent], axis=1)
        kesson_table_ren_columns = kesson_table.rename(
        columns = {0 : '欠損数', 1 : '%'})
        return kesson_table_ren_columns
 
kesson_table(train)
kesson_table(test)

データクレンジング

欠損データを仮の値で中央値を入れていく。統計情報が中央値に引っ張られてしまうが、データがないものはしょうがないので仮値を入れてしまう。

train["Age"] = train["Age"].fillna(train["Age"].median())
train["Embarked"] = train["Embarked"].fillna("S")
 
 kesson_table(train)
test["Age"] = test["Age"].fillna(test["Age"].median())
test.Fare[152] = test.Fare.median()

 

文字列の数字置換

Sex:「male」「female」

Embarked:「S」「C」「Q」

これらの文字列を数字置換する。

train["Sex"][train["Sex"] == "male"] = 0
train["Sex"][train["Sex"] == "female"] = 1
train["Embarked"][train["Embarked"] == "S" ] = 0
train["Embarked"][train["Embarked"] == "C" ] = 1
train["Embarked"][train["Embarked"] == "Q"] = 2
 
train.head(10)

test["Sex"][test["Sex"] == "male"] = 0
test["Sex"][test["Sex"] == "female"] = 1
test["Embarked"][test["Embarked"] == "S"] = 0
test["Embarked"][test["Embarked"] == "C"] = 1
test["Embarked"][test["Embarked"] == "Q"] = 2

test.head(10)

今回でデータクレンジング完了。

また長くなってしまったので次回でデータ解析を行う。

 

コメントを残す

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

CAPTCHA