excelsu의 공부 기록 블로그

[sklearn] KNN보간 결측치 채우기 본문

파이썬/전처리

[sklearn] KNN보간 결측치 채우기

excelsu 2022. 6. 24. 15:31

KNN imputer 를 사용하여 데이터 사이에 NA값을 채워주는 코드이다.

 

KNN은 간단하게 설명하면  NA값의 가장가까운 주변 k개의 평균을 NA값으로 대체하는 알고리즘이다.

 

간단하게 코드로 작성해볼 수 있다.

KNN보간 이전 데이터의 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보간 이후 NA값 수

****KNN임퓨터는 숫자로만 계산이 가능하기때문에 범주형 변수에 대해서는 가변수화 이후 진행해주어야 한다!