본문 바로가기

Machine Learning/머신러닝 완벽가이드 for Python

Ch.2.5 데이터 전처리

데이터 전처리 (Preprocessing)

 

  • 데이터 클린징
  • 결손값 처리 (Null/NaN 저 리)
  • 데이터 인코딩(레이블, 원-핫 인코딩)
  • 데이터 스케일링
  • 이상치 제거
  • Feature 선택추 및 가공

 

 

데이터 인코딩

 

머신러닝 알고리즘은 문자열 데이터 속성을 입력 받지 않으며 모든 데이터는 숫자형으로 표현되어야 합니다.
문지형 카테고리형 속성은 모두 숫자값으로 변환/인코딩 되어야 합니다.

 

  • 레이블 (Label) 인코딩
  • 원-핫 (One-Hot) 인코딩

 

 

레이블 (Label) 인코딩

 

 

 

 

원-핫(One-Hot) 인코딩

 

원-핫 인코딩은 피처 값의 유형에 따라 새로운 피처를 추가해 고유 값에 해당하는 컬럼에만 1을 표시하고 나머지 컬럼에는 0을 표시하는 방법입니다.

 

 

 

사이킷런 -> 원-핫 인코딩

 

 

 

판다스 get_dummies( )를 이용한 원-핫 인코딩

 

pd.get_dummies(DataFrame)

 

 

 

피처스케일링

 

-> 가우시안 정규 분포

 

 

 

표준화는 데이터의 피처 각각의 평균이 0이고 분산이 1인 가우시안 정규분포를 가진 값으로 변환하는 것을 의미합니다.

 

 

 

 

 

정규화는 서로 다른 피쳐의 크기를 통일하기 위해 크기를 변환해주는 개념입니다.

 

 

 

사이킷런 피처 스케일링 지원

 

 

  • StandardScaler: 평균이 0 이고, 분산이 1 인 정규분포 형태로 변환
  • MinMaxScaler: 데이터값을 0과 1 사이의 범위 값으로 변환합니다 (음수 값이 있으면 -1 에서 1 값으로 변환합니다)