Attention please

sklearn의 Simplelmputer으로 결측치 채우기 본문

머신러닝

sklearn의 Simplelmputer으로 결측치 채우기

Seongmin.C 2023. 2. 9. 02:20
728x90

데이터를 전처리 하는 과정에서 결측치가 존재한다면 반드시 채워주어야 한다.

 

이런 경우 결측치를 채우기 위해 보통 fillna를 사용하여 채우는 경우가 대부분이다. 하지만 간단하게 값을 채우는 용도로 사용할 수 있는 SimpleImputer 함수가 존재한다. 

 

fillna에 비해 할 수 있는 다양성은 줄어들지만 보다 간단하게 결측치를 채울 수 있기 때문에 단순 작업을 할 때 사용하기 적합해 보인다.

 

먼저 SimpleImputer 함수를 사용하기 위해 모듈을 import 해주자.

 

import pandas as pd
from sklearn.impute import SimpleImputer

 

이번에는 간단하게 최빈값으로 결측치를 채우는 작업을 진행하였다. 

 

imputer = SimpleImputer(strategy='most_frequent')

df = pd.DataFrame(imputer.fit_transform(df))

 

위와 같이 두줄 만으로 간단하게 결측치를 채웠다.

 

SimpleImputer 객체를 생성한 후 fit_transform 메서드를 사용하여 새로운 데이터프레임을 생성하였다. 

 

Parameter

SimpleImputer 함수에는 총 6가지의 파라미터가 존재한다.

  • missing_values : 빈값으로 인식하게 할 값을 정한다. (default : np.nan 값들을 채운다.)
  • strategy : "median" - 중앙값, "most_frequent" - 최빈값, "constant" - 지정 값 으로 사용할 수 있다. (default : "mean" - 산술평균값)
  • fill_value : strategy가 "constant"인 경우 채울 값을 결정할 수 있다.
  • verbose : 0 - 출력 X  / 1 - 자세히 출력, 2 - 간단히 출력 (default : 0)
  • copy : True - 복사본을 만들어서 결과 도출  /  False - 원래의 데이터프레임에 결과 도출 (default : True)
  • add_indicator : 원래 결측치였는지를 구분하는 추가 컬럼을 추가할지에 대한 여부 (default : False)

 

728x90

'머신러닝' 카테고리의 다른 글

클러스터링 ; 데이터 전처리 - (2)  (0) 2023.02.17
클러스터링 ; 데이터 살펴보기(EDA) - (1)  (0) 2023.02.17
타이타닉 - EDA  (2) 2023.01.27
Comments