데이터 전처리(preprocessing)에서 스케일링(scaling)은 머신러닝 모델의 성능과 학습 속도를 높이는 데 중요한 역할을 합니다. 데이터의 특성과 모델의 요구사항에 따라 적절한 스케일러를 선택해야 합니다. 아래는 주요 스케일러와 사용 상황을 정리한 내용입니다.
SVM, PCA, k-NN, 로지스틱 회귀 등.
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
scaled_data = scaler.fit_transform(data)
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
scaled_data = scaler.fit_transform(data)
from sklearn.preprocessing import RobustScaler
scaler = RobustScaler()
scaled_data = scaler.fit_transform(data)
from sklearn.preprocessing import MaxAbsScaler
scaler = MaxAbsScaler()
scaled_data = scaler.fit_transform(data)
from sklearn.preprocessing import Normalizer
scaler = Normalizer()
scaled_data = scaler.fit_transform(data)
선택 가이드
정규 분포 기반 모델: StandardScaler
범위 조정 필요: MinMaxScaler
이상치가 많은 경우: RobustScaler
희소 데이터: MaxAbsScaler
벡터 정규화: Normalizer