데이터의 모든 특성의 범위를 같게 만들어주는 방법
교차검증을 위해 Train-Test로 분리하였을 경우 전체 데이터가 아닌 훈련 데이터에 대해서만 fit()을 적용해야한다.
1. StandardScaler
평균 = 0 / 표준편차 = 1
표준화 Standardization
from sklearn.preprocessingimport StandardScaler
# Standardization 평균 0 / 분산 1
scaler = StandardScaler()
scaler = scaler.fit_transform(data)
# 교차검증시
scaler.fit(X_train)
X_train = scaler.transform(X_train)
X_test = scaler.transform(X_test)
2. MinMaxScaler
최대값 = 1 / 최소값 = 0
최소-최대 정규화 Min-Max Normalization
이상치에 취약하다.
from sklearn.preprocessingimport MinMaxScaler
# Normalization 최소값 0 / 최대값 1
scaler = MinMaxScaler()
scaler = scaler.fit_transform(data)
# 교차검증시
scaler.fit(X_train)
X_train = scaler.transform(X_train)
X_test = scaler.transform(X_test)
3. RobustScaler
중앙값 = 0 / IQR(1분위(25%) ~ 3분위(75%)) = 1
이상치(outlier) 영향 최소화
더 넓게 분포