본문 바로가기
IT 와 Social 이야기/Python

[데이터 사이언스 스쿨] ml2.1 데이터 전처리 기초

by manga0713 2021. 5. 6.

○ missingno 패키지 : pandas 데이터프레임에서 결측(missing) 데이터를 찾는 기능을 제공

 

- 데이터프레임에 결측 데이터가 NaN(not a number) 값으로 저장되어 있어야 한다.

 

- 주의할 점은 NaN값은 부동소수점 실수 자료형에만 있는 값이므로 정수 자료를 데이터프레임에 넣을 때는 Int64Dtype 자료형을 명시해주어야 하고 시간 자료형을 넣을 때도 parse_dates 인수로 날짜시간형 파싱을 해주어야 datetime64[ns] 자료형이 되어 결측 데이터가 NaT(not a time) 값으로 표시된다.

 

 

○ 결측 데이터 처리

 

  • 결측된 데이터가 너무 많은 경우 해당 데이터 열 전체를 삭제할 수 있다.

결측된 데이터가 일부인 경우 가장 그럴듯한 값으로 대체할 수 있다. 이를 결측 데이터 대체(imputation)라고 한다.

 

 

 

○ 결측 데이터 대체(imputation)

 

- 해당 열의 비결측 데이터의 평균값 혹은 중앙값 등을 대체값으로 사용하여 결측된 데이터를 채운다.

- 데이터가 실수의 연속값인 경우에는 평균 또는 중앙값을 사용할 수 있다. 값의 분포가 대칭적이면 평균이 좋고 값의 분포가 심하게 비대칭인 경우에는 중앙값이 적당하다.

- 데이터가 범주값이거나 정수값인 경우에는 최빈값을 사용할 수 있다.

 

 

 

 

 

○ patsy 패키지를 활용하여 원하는 데이터만 선택하거나 새로운 데이터를 조합 생성하는 방법

 

 

 

○ sklearn.preprocessing 패키지 활용

 

- 스케일링 및 변수변환을 위한 StandardScaler 클래스

 

  1. 학습용 데이터를 입력으로 fit() 메서드를 실행하면 평균값과 표준편차를 계산하여 객체내에 저장한다.
  2. 다시 학습용 데이터를 입력으로 하여 transform() 메서드를 실행하면 저장했던 평균값을 빼서 새로운 평균값이 0이 되도록 만들고, 저장한 표분편차로 나누어 새로운 표준편차가 1이 되도록 데이터를 변환하여 출력한다. 1단계와 2단계를 합쳐서 fit_transform() 메서드를 실행할 수도 있다.
  3. 검증용 데이터를 입력으로 하여 transform() 메서드를 실행해도 학습용 데이터의 평균값과 표준편차를 사용하여 검증용 데이터를 변환한다.

 

dss_ml2_1_preprocessing basic 전처리 기초.ipynb
0.39MB

 

- 출처 : [데이터 사이언스 스쿨] ml2.1 데이터 전처리 기초