Kaggle / Titanic - Machine Learning from Disaster / 写経 / 欠損値補完の一部まで
環境
Jupyter Notebook / Local
やったこと
データの読み込み
df_train = pd.read_csv('train.csv') df_test = pd.read_csv('test.csv') df_train.shape, df_test.shape df_train.head() df_test.head()
基本統計量の確認
df_train.describe() df_train.describe(include='all') df_train.describe(exclude='number') df_train.hist(figsize=(12, 12)) #ヒストグラム表示
※df_testも同様に
欠損値確認
df_train.isnull().sum() df_test.isnull().sum() # 欠損値の有無の確認 pd.isnull(df_train) pd.isnull(df_test) # 欠損値レコード抽出 df_train[df_train.isnull().any(axis=1)] df_test[df_train.isnull().any(axis=1)]
欠損値補完('Age'を例に)
df_train['Age'].fillna(df_train['Age'].mean(), inplace=True) df_test['Age'].fillna(df_test['Age'].mean(), inplace=True)
所感
こちらの写経がベース。 Age, Fare等の欠損値については、平均値(mean())で補完。ここは中央値で保管するなどでモデルの精度が変わってくると思われ。