파이썬/전처리
[sklearn] KNN보간 결측치 채우기
excelsu
2022. 6. 24. 15:31
KNN imputer 를 사용하여 데이터 사이에 NA값을 채워주는 코드이다.
KNN은 간단하게 설명하면 NA값의 가장가까운 주변 k개의 평균을 NA값으로 대체하는 알고리즘이다.
간단하게 코드로 작성해볼 수 있다.
from sklearn.impute import KNNImputer
#임퓨터 선언(5개의 평균으로 계산하겠다)
imputer=KNNImputer(n_neighbors=5)
#임퓨터를 사용하여 filled_train으로 저장 이후 같은 임퓨터를 사용할때는 imputer.transform()으로 사용하면됨
filled_train=imputer.fit_transform(train)
#사용하면 array값으로 나오기때문에 dataframe으로 바꿔주고 컬럼을가져옴
filled_train=pd.DataFrame(filled_train, columns=train.columns)
****KNN임퓨터는 숫자로만 계산이 가능하기때문에 범주형 변수에 대해서는 가변수화 이후 진행해주어야 한다!