태지쌤

로봇 & 코딩교육 No.1 크리에이터

Data Science

머신러닝에서의 데이터 전처리: 표준화, 정규화, RobustScaler

태지쌤 2024. 12. 10. 12:15
반응형
 

데이터 전처리는 머신러닝 모델의 성능을 크게 향상시킬 수 있는 중요한 단계입니다. 오늘은 데이터 스케일링의 세 가지 주요 방법인 표준화, 정규화, 그리고 RobustScaler에 대해 알아보겠습니다.

1. 표준화 (Standardization)

표준화는 데이터의 평균을 0, 표준편차를 1로 변환하는 과정입니다.

- 수식: (x - μ) / σ

- 특징: 이상치에 민감할 수 있음

- 사용 시기: 정규분포를 따르는 데이터에 적합

from sklearn.preprocessing
import StandardScaler scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

2. 정규화 (Normalization)

정규화는 데이터를 특정 범위(주로 0과 1 사이)로 스케일링하는 방법입니다.

- 수식: (x - min(x)) / (max(x) - min(x))

- 특징: 이상치에 매우 민감

- 사용 시기: 데이터의 분포가 정규분포가 아닐 때 유용

from sklearn.preprocessing
import MinMaxScaler scaler = MinMaxScaler()
X_scaled = scaler.fit_transform(X)
 

3. RobustScaler

RobustScaler는 중앙값(median)과 사분위수(quartiles)를 사용하여 이상치의 영향을 최소화합니다.

- 수식: (x - median(x)) / (Q3(x) - Q1(x))

- 특징: 이상치에 강건함

- 사용 시기: 이상치가 많은 데이터셋에 적합

from sklearn.preprocessing
import RobustScaler scaler = RobustScaler()
X_scaled = scaler.fit_transform(X)

결론

데이터의 특성과 모델의 요구사항에 따라 적절한 스케일링 방법을 선택하는 것이 중요합니다. 표준화는 정규분포 데이터에, 정규화는 일정 범위로의 변환이 필요할 때, RobustScaler는 이상치가 많은 데이터에 효과적입니다. 실제 적용 시에는 여러 방법을 실험해보고 최적의 결과를 도출하는 것이 좋습니다.

반응형