더북(TheBook)

4.1.3 누락된 값 대체

종종 훈련 샘플을 삭제하거나 특성 열을 통째로 제거하기 어려울 때가 있습니다. 유용한 데이터를 너무 많이 잃기 때문입니다. 이런 경우 여러 가지 보간 기법을 사용하여 데이터셋에 있는 다른 훈련 샘플로부터 누락된 값을 추정할 수 있습니다.

가장 흔한 보간 기법 중 하나는 평균으로 대체하는 것입니다. 각 특성 열의 전체 평균으로 누락된 값을 바꾸는 것입니다. 다음과 같이 사이킷런의 SimpleImputer 클래스를 사용하면 간편하게 처리할 수 있습니다.

>>> from sklearn.impute import SimpleImputer
>>> import numpy as np
>>> imr = SimpleImputer(missing_values=np.nan, strategy='mean')
>>> imr = imr.fit(df.values)
>>> imputed_data = imr.transform(df.values)
>>> imputed_data
array([[  1.,   2.,   3.,   4.],
       [  5.,   6.,  7.5,   8.],
       [ 10.,  11.,  12.,   6.]])
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.