데이터 전처리: 스케일링 – Robust Scaling
ㅁ 스케일링
ㅇ 정의:
데이터의 특성 값들을 일정한 범위나 분포로 변환하여 모델 학습 시 특정 변수의 크기 차이로 인한 영향력을 줄이는 전처리 기법.
ㅇ 특징:
– 모든 특성(feature)의 단위를 맞추어 모델 학습 안정성을 높임.
– 이상치(outlier)에 민감한 기법과 그렇지 않은 기법이 존재.
– 회귀, 분류, 거리 기반 알고리즘(KNN, SVM, K-means 등)에 필수적으로 사용됨.
ㅇ 적합한 경우:
– 변수 간 스케일 차이가 큰 경우.
– 거리 기반 알고리즘을 사용할 때.
ㅇ 시험 함정:
– 스케일링은 모델 성능 향상 보장 X, 데이터 분포에 따라 효과 다름.
– 훈련 데이터와 테스트 데이터에 동일한 변환 적용 필요.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “KNN, SVM, PCA 적용 전 스케일링 수행 권장”
X: “스케일링은 이상치 제거에 효과적이다”
================================
1. Robust Scaling
ㅇ 정의:
중앙값(median)과 IQR(Interquartile Range, 사분위 범위)을 사용하여 특성 값을 변환하는 스케일링 방식.
ㅇ 특징:
– 평균과 표준편차 대신 중앙값과 IQR 사용.
– 이상치의 영향을 최소화.
– 변환 공식: X_scaled = (X – median) / IQR.
ㅇ 적합한 경우:
– 이상치가 존재하는 데이터.
– 데이터가 정규분포를 따르지 않는 경우.
ㅇ 시험 함정:
– 이상치를 완전히 제거하는 방법이 아님.
– 데이터 분포를 정규화(normalization)하는 것이 아님.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “Robust Scaling은 중앙값과 IQR을 사용하여 이상치 영향을 줄인다”
X: “Robust Scaling은 평균과 표준편차를 사용한다”
ㅁ 추가 학습 내용
Robust Scaling은 sklearn.preprocessing의 RobustScaler로 구현 가능하다. 훈련 데이터의 median(중앙값)과 IQR(Interquartile Range, 사분위 범위)을 계산하고, 테스트 데이터 변환 시 동일한 값을 사용해야 한다. IQR은 Q3(3사분위수) – Q1(1사분위수)로 계산된다. 이상치가 많은 경우에도 중앙값과 사분위 범위는 크게 변하지 않아 안정적인 스케일링이 가능하다.
표준화(Standardization)나 Min-Max Scaling과 비교하는 문제가 자주 출제되므로, 각 기법의 변환 수식과 이상치 민감도를 표로 정리하는 것이 좋다. Robust Scaling은 PCA 적용 전에도 유용하며, 특히 금융 데이터, 센서 데이터처럼 극단값이 존재하는 환경에서 효과적이다.