더북(TheBook)

예측할 특성을 선택하는 순서는 누락된 값이 가장 적은 특성부터 선택하는 'ascending', 누락된 값이 가장 큰 특성부터 선택하는 'descending', 왼쪽에서 오른쪽으로 선택하는 'roman', 오른쪽에서 왼쪽으로 선택하는 'arabic', 랜덤하게 고르는 'random'이 있습니다. 기본값은 'ascending'입니다.

특성 예측은 종료 조건을 만족할 때까지 반복합니다. 각 반복 단계에서 이전 단계와 절댓값 차이 중 가장 큰 값이 누락된 값을 제외하고 가장 큰 절댓값에 tol 매개변수를 곱한 것보다 작을 경우 종료합니다. tol 매개변수 기본값은 1e-3입니다. 또는 max_iter 매개변수에서 지정한 횟수에 도달할 때 종료합니다. max_iter의 기본값은 10입니다.

예측에 사용하는 모델은 estimator 매개변수에서 지정할 수 있으며 기본적으로 BayesianRidge 클래스를 사용합니다. 예측에 사용할 특성 개수는 n_nearest_features에서 지정할 수 있으며 상관 계수가 높은 특성을 우선하여 랜덤하게 선택합니다. 기본값은 None으로 모든 특성을 사용합니다.

IterativeImputer 클래스는 아직 실험적이기 때문에 사용하려면 먼저 enable_iterative_imputer 모듈을 임포트해야 합니다.

>>> from sklearn.experimental import enable_iterative_imputer 
>>> from sklearn.impute import IterativeImputer 
>>> iimr = IterativeImputer() 
>>> iimr.fit_transform(df.values)
array([[ 1.     ,  2.     ,  3.        ,  4.        ],
       [ 5.     ,  6.     ,  7.00047063,  8.        ],
       [10.     , 11.     , 12.        , 12.99964527]])

KNNImputer 클래스는 k-최근접 이웃 방법을 사용하여 누락된 값을 채웁니다. 최근접 이웃의 개수는 n_neighbors 매개변수로 지정하며 기본값은 5입니다. 샘플 개수가 n_neighbors보다 작으면 SimpleImputer (strategy='mean')과 결과가 같습니다.

>>> from sklearn.impute import KNNImputer 
>>> kimr = KNNImputer() 
>>> kimr.fit_transform(df.values) 
array([[ 1. ,   2. ,   3. ,  4. ],
       [ 5. ,   6. ,   7.5,  8. ],
       [10. ,  11. ,  12. ,  6. ]])
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.