더북(TheBook)

추가된 indicator_ 속성은 MissingIndicator 클래스의 객체입니다. MissingIndicator 객체의 features_ 속성은 누락된 값이 있는 특성의 인덱스를 담고 있습니다.

>>> imr.indicator_.features_
array([2, 3])

MissingIndicator 객체의 fit_transform 메서드를 호출하면 features_ 속성에 담긴 특성에서 누락된 값의 위치를 나타내는 배열을 반환합니다. 여기서는 세 번째, 네 번째 특성의 누락된 값의 위치입니다. 이 배열 값이 SimpleImputer 객체의 transform 메서드가 반환한 배열의 마지막 두 열에 해당합니다.

>>> imr.indicator_.fit_transform(df.values)
array([[False, False],
       [ True, False],
       [False,  True]])

사이킷런 0.24 버전에서는 SimpleImputer 클래스에 원본 특성으로 변환하는 inverse_transform 메서드가 추가됩니다.

>>> imr.inverse_transform(imputed_data)
array([[ 1.,   2.,   3.,   4.], 
       [ 5.,   6.,  nan,   8.],
       [10.,  11.,  12.,  nan]])

SimpleImputer는 한 특성의 통계 값을 사용하여 누락된 값을 채웁니다. 이와 달리 IterativeImputer 클래스는 다른 특성을 사용하여 누락된 값을 예측합니다. 먼저 initial_strategy 매개변수에 지정된 방식으로 누락된 값을 초기화합니다. 그다음 누락된 값이 있는 한 특성을 타깃으로 삼고 다른 특성을 사용해서 모델을 훈련하여 예측합니다. 이런 식으로 누락된 값이 있는 모든 특성을 순회합니다.

initial_strategy 매개변수에 지정할 수 있는 값은 SimpleImputer와 동일하게 'mean', 'median', 'most_frequent', 'constant'가 가능합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.