삭제
대치
- 평균값, 최빈값, 중앙값, 등
- 앞, 뒤, 앞뒤 평균
KNNImputer
from sklearn.impute import KNNImputer
cols = test_df.columns
imputer = KNNImputer(n_neighbors=5)
test_df_knn = imputer.fit_transform(test_df)
test_df_knn = pd.DataFrame(test_df_knn, columns=cols)
*********
cols = x_train.columns
imputer = KNNImputer(n_neighbors=2)
x_train = imputer.fit_transform(x_train)
x_val = imputer.transform(x_val)
x_train = pd.DataFrame(x_train, columns=cols)
- 가변수화가 선행되어야 한다.
- KNNImputer를 거치면 데이터가 np array가 된다.
iterative imputer
- sklearn의 실험 패키지이므로, randomforest말고 다른 model로 결측치를 보간시킬 때 약간의 오류가 존재할 수 있다.
- 오류가 제일 없는 경우는 randomforest여서 사람들이 missforest라고 많이 이야기 한다.
from sklearn.experimental import enable_iterative_imputer
from sklearn.impute import IterativeImputer
cols = x_train.columns
imputer = IterativeImputer(estimator=RandomForestRegressor(verbose=0, random_state=42),
max_iter=10, verbose=0, imputation_order='ascending', random_state=0)
x_train = imputer.fit_transform(x_train)
x_val = imputer.transform(x_val)
x_train = pd.DataFrame(x_train, columns=cols)