参考
メモ
Kaggleのhandling-missing-values の内容から気になった箇所をメモ。
欠落のあるカラムの排除
最もシンプルな方法として、欠落のあるカラムを排除する方法が挙げられていた。
1
2
3
4cols_with_missing = [col for col in X_train.columns
if X_train[col].isnull().any()]
reduced_X_train = X_train.drop(cols_with_missing, axis=1)
reduced_X_test = X_test.drop(cols_with_missing, axis=1)
X_train[col].isnull().any()のところで、カラム内の値のいずれかがNULL値かどうかを確認している。
欠落を埋める
欠落を埋める。 1
2
3
4
5from sklearn.impute import SimpleImputer
my_imputer = SimpleImputer()
imputed_X_train = my_imputer.fit_transform(X_train)
imputed_X_test = my_imputer.transform(X_test)
なお、SimpleImputer#fit_transformメソッドの戻り値は、numpy.ndarrayである。
また、scikit-learnのimputeの説明を見る限り、カテゴリ値にも対応しているようだ。
欠落を埋めつつ、欠落していたことを真理値として保持
1 | imputed_X_train_plus = X_train.copy() |