결측치 처리

juyeon·2022년 8월 31일
0

데이터 다루기

목록 보기
23/35

삭제

  • 행 삭제
  • 열 삭제

대치

  • 평균값, 최빈값, 중앙값, 등
  • 앞, 뒤, 앞뒤 평균

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)
profile
내 인생의 주연

0개의 댓글