본문 바로가기
개발/Python

스케일링

by 피로물든딸기 2025. 10. 11.
반응형

전체 링크

 


StandardScaler

- 평균(Mean)을 0, 표준편차(Standard Deviation)를 1로 맞춤. (z-score normalization)

- 데이터가 정규분포(가우시안 분포)에 가까울 때 효과적.

- 평균과 분산이 다른 피처들을 같은 스케일로 맞춰줌.

- 이상치(Outlier)에 민감 → 이상치가 크면 표준편차가 커져서 다른 데이터가 상대적으로 작아짐.

μ : 변수의 평균

σ : 변수의 표준편차

 

장점

- 많은 모델(선형 회귀, 로지스틱 회귀, SVM, PCA, K-Means 등)에서 기본적으로 잘 작동.

- 확률 해석이나 거리 기반 모델에서 안정적.

 

단점

- 이상치가 있으면 평균과 표준편차가 왜곡됨.

- 데이터가 정규분포가 아닐 경우 최적 효과가 아닐 수 있음.

 

적합한 상황

- 정규분포 형태 데이터 (예: 시험 점수, 센서 측정치)

- 선형 모델 (Linear Regression, Logistic Regression)

- 거리 기반 모델 (SVM, KNN, PCA)


MinMaxScaler

- 최소값을 0, 최대값을 1로 변환. (혹은 지정한 범위 [a, b])

- 모든 값이 0~1 구간에 들어감.

- 데이터 분포의 형태를 그대로 유지하면서 크기만 축소.

 

장점

- 범위가 고정되어 있어서 신경망(딥러닝)에서 학습 안정화에 좋음.

- 분포 모양 자체는 유지

 

단점

- 이상치에 매우 민감 → outlier 하나 때문에 범위가 크게 늘어나면 대부분 데이터가 0 근처로 몰림

- 실제 최소값/최대값에 따라 결과가 크게 변함.

 

적합한 상황

- 신경망(Deep Learning) : 시그모이드, ReLU, tanh 같은 비선형 활성화 함수는 입력이 0~1 또는 -1~1일 때 수렴이 빨라짐.

- 정규화된 입력이 중요한 경우 (예: 이미지 픽셀 0~255 → 0~1).


RobustScaler

- 중앙값(Median)을 0, IQR(사분위 범위: Q3 - Q1)으로 나눔.

- 중앙값 기준으로 스케일링 → 이상치(Outlier)의 영향을 거의 안 받음.

- 데이터 분포가 치우쳐 있거나 이상치가 많은 경우 적합.

 

장점

- 이상치에 강함.

- 데이터가 치우쳐 있어도 안정적인 스케일링 가능.

 

단점

- IQR 기반이므로 분포가 정규분포일 때는 StandardScaler보다 손해.

- 데이터가 모두 균일할 경우 변별력이 줄어듦.

 

적합한 상황

- 이상치 많은 데이터 (예: 금융 거래 데이터, 로그 스케일의 소득 분포)

- 편향된(Heavy-tailed) 분포


DecimalScaler 

- 단순히 숫자의 자릿수를 이동시키는 방식

- 데이터를 0 ~ 1 정도의 범위로 쉽게 압축

장점

- 단순 계산

- 큰 수 데이터를 작은 범위로 쉽게 변환

 

단점

- 데이터 분포에 따라 적절한 j 값 선택 필요

- 이상치에 민감

 

적합한 상황

- 단순 정규화가 필요할 때

- 계산 효율을 우선시할 때

반응형

'개발 > Python' 카테고리의 다른 글

차트  (0) 2025.10.14
Ridge, Lasso, Elastic Net  (2) 2025.10.11
Seq2Seq, 어텐션, 트랜스포머  (0) 2025.10.09
PCA vs LDA vs t-SNE  (0) 2025.10.09
오즈와 오즈비  (0) 2025.10.09

댓글