데이터 전처리: 스케일링 – Min-Max Scaling
ㅁ 스케일링
ㅇ 정의:
데이터의 값 범위를 일정한 구간으로 변환하여 모델 학습 시 변수 간 영향력을 균등하게 만드는 전처리 기법.
ㅇ 특징:
– 변수 단위나 범위가 다를 때 모델이 특정 변수에 치우치는 것을 방지.
– 거리 기반 알고리즘(KNN, SVM, K-Means 등)에서 효과적.
– 정규화(Normalization)와 표준화(Standardization)로 구분 가능.
ㅇ 적합한 경우:
– 변수 값의 범위가 크게 다를 때.
– 거리 계산이 중요한 모델을 사용할 때.
ㅇ 시험 함정:
– 스케일링은 이상치(Outlier)에 민감할 수 있음.
– 학습 데이터와 테스트 데이터에 동일한 스케일링 파라미터를 적용해야 함.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “KNN 모델 적용 전, 변수 간 범위 차이를 줄이기 위해 스케일링을 수행한다.”
X: “스케일링은 회귀 분석에서는 전혀 필요하지 않다.”
================================
1. Min-Max Scaling
ㅇ 정의:
데이터의 최소값을 0, 최대값을 1로 변환하는 스케일링 기법. 각 값은 (x – min) / (max – min) 공식으로 변환.
ㅇ 특징:
– 모든 데이터가 [0,1] 범위로 변환됨.
– 이상치에 매우 민감하여, min/max 값이 극단적이면 스케일이 왜곡됨.
– 계산이 간단하고 직관적.
ㅇ 적합한 경우:
– 데이터가 특정 범위로 제한되어야 하는 경우.
– 신경망 입력값 등 0~1 범위가 요구되는 알고리즘.
ㅇ 시험 함정:
– 테스트 데이터에 스케일링 적용 시 학습 데이터의 min/max를 사용해야 함.
– 이상치 제거 없이 적용하면 성능 저하 가능.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “Min-Max Scaling은 데이터 값을 0과 1 사이로 변환한다.”
X: “Min-Max Scaling은 이상치에 강건하여 min/max 값 변화에 영향을 받지 않는다.”
ㅁ 추가 학습 내용
Min-Max Scaling은 Normalization의 한 종류로, 변수 간 상대적 크기 차이를 제거하는 데 유용하다. 그러나 이상치에 민감하므로 Robust Scaling이나 Standardization과 비교하는 문제가 자주 출제된다. 공식은 (x – min) / (max – min)이며, 학습 데이터로 fit한 스케일을 테스트 데이터에 그대로 transform해야 한다는 점이 중요하다. 또한 [0,1] 범위뿐 아니라 다른 범위로 변환할 수 있도록 feature_range 옵션을 제공한다.