여기에서는 NaN 값을 각 특성 열에서 계산한 평균으로 바꾸었습니다. strategy 매개변수에 설정할 수 있는 다른 값으로 median5 또는 most_frequent가 있습니다. most_frequent는 가장 많이 나타난 값으로 누락된 값을 대체합니다. 이 옵션은 범주형 특성 값을 대체할 때 유용합니다. 예를 들어 빨강, 초록, 파랑 같은 색 이름이 인코딩된 특성 열을 다루는 경우입니다. 이 장 후반에서 이런 예를 만날 것입니다.
Note ≡
역주 SimpleImputer 클래스의 missing_values 기본값이 np.nan입니다. strategy 매개변수에 mean, median, most_frequent 외에 constant를 사용할 수 있으며 기본값은 mean입니다. strategy='constant'일 때 fill_value 매개변수에 채우려는 값을 지정합니다. SimpleImputer에는 axis 매개변수가 없습니다. 행 방향으로 대체할 값을 계산하려면 FunctionTransformer를 사용하여 처리할 수 있습니다. 다음 코드는 입력 행렬의 행과 열을 바꾸어 대체할 값을 계산한 후 다시 변환된 행렬의 열과 행을 바꿉니다.
>>> from sklearn.preprocessing import FunctionTransformer
>>> ftr_imr = FunctionTransformer(lambda X: imr.fit_transform(X.T).T, validate=False)
>>> imputed_data = ftr_imr.fit_transform(df.values)
>>> imputed_data
array([[ 1. , 2. , 3. , 4. ],
[ 5. , 6. , 6.33333333, 8. ],
[10. , 11. , 12. , 11. ]])