CharmStrange / Study

What I studied.
0 stars 0 forks source link

Data Scaling #9

Open CharmStrange opened 1 year ago

CharmStrange commented 1 year ago

데이터 스케일링

데이터 스케일링을 하고 안하고 차이가 모델에 정말 큰 영향을 준다는 것을 느꼈다. 스케일링을 해 준다면 머신 러닝, 딥러닝 모델에서 학습 알고리즘의 성능과 모델의 연산 속도, 해석력의 향상, 이상치 영향 완화 등의 이점을 얻을 수 있다.

K-means, KNN, 군집화, RBF, 유클리드 거리 등의 기법에선 스케일이 지대한 영향을 미친다.

StandardScaler

  • 평균 0, 표준편차 1
  • 데이터의 범위를 정규 분포로 변환
  • 이상치(Outlier) 존재 시 사용에 주의
    x_standardized = (x - mean) / std

MinMaxScaler

  • 데이터의 범위 0~1로 조정
  • 데이터가 정규 분포를 따르지 않거나, sd가 작을 때
    x_normalized = (x - min) / (max - min)

RobustScaler

  • 중앙값(Median)과 IQR 사용
  • 이상치의 영향을 최소
    x_robust = (x - Median) / IQR
CharmStrange commented 11 months ago

단순 선형 함수(평활 함수), K-평균, KNN, 군집화, RBF kernel, 유클리드 거리 등의 기법 모델링을 할 땐 데이터 스케일링을 해 주는 것이 좋다(경우에 따라).

논리 함수와 같은 이산(+이진)적 형태를 보이는 함수는 데이터를 스케일링한 것과 하지 않은 것 차이가 없는 편이다. 예를 들면 결정 트리, 그라디언트 부스팅 머신, 랜덤 포레스트 등.