본문 바로가기
Machine Learning with Python

03_Data preprocessing: 특성 스케일 맞추기

by Hot김치 2022. 12. 20.

 

  • 알고리즘에 따라서 스케일에 영향을 받을 수도 않받을 수도 있음.(특성 간의 영향)
    • 영향받는 알고리즘: 경사하강법(gradient descent), K-최근접 이웃
    • 영향을 않받는 알고리즘: 결정트리와 랜덤 포레스트
  • 대부분의 머신 러닝과 최적화 알고리즘은 특성의 스케일이 같을 때 훨씬 성능이 좋다.
  • 최적화 알고리즘
    • 1) 정규화(normalization)
      • [0, 1]범위에 맞추어 사용
      • min-max scaling
      • 단점: 데이터셋에 비정상적으로 아주 큰 값이나 아주 작은 값이 들어 있을 때 다른 샘플들을 좁은 구간에 촘촘하게 모아 버림

    • 2) 표준화(standardization)
      • 경사 하강법같은 최적화 알고리즘에서 널리 사용.
      • 특성의 평균 0에 맞추고 표준편차를 1로 만들어 정규분포와 같은 특징을 가지도록 설계
      • 이상치 정보가 유지되기에 아주 큰 값이나 / 아주 작은 값에 영향을 덜 받는다.

    • 3) RobustScaler
      • 이상치가 많이 포함된 작은 데이터셋을 다룰 때 특히 도움.
      • 극단적인 값과 이상치에 영향을 덜 받는다.
      • 과대적합(overfitting)이 되기 쉽다면, RobustScaler가 도움.
      • 중간값(q2: 50%) 값을 빼고 1사분위(q1: 25%)와 3사분위(q3: 75%)의 차이로 나누어 데이터 스케일을 조정 
 
 

 

정규화 식
표준화 식
RobustScaler 식