1. MinMaxScaler( 최대-최소 정규화 )
•
데이터를 0 ~ 1 범위로 변환
•
데이터의 위치를 확인할 수 있음
from sklearn.preprocessing import MinMaxScaler
features = ['fixed acidity', 'volatile acidity', 'citric acid',
'residual sugar', 'chlorides', 'free sulfur dioxide',
'free et sulfur dioxid', 'density', 'pH', 'sulphates', 'alcohol']
scaler = MinMaxScaler()
scaler.fit(train[features]) # scaler 학습
train[features] = scaler.transform(train[features]) # 학습 데이터 변환
test[features] = scaler.transform(test[features]) # 테스트 데이터 변환
Python
복사
2. StandardScaler(Z - Score 정규화)
•
평균으로부터 데이터의 위치를 확인할 수 있음
•
데이터를 0으로부터 양쪽 사이드에 분포하도록 함
from sklearn.preprocessing import StandardScaler
std_scaler = StandardScaler()
# 변환
df['std_컬럼'] = std_scaler.fit_transform(df[['컬럼']])
Python
복사
3. 어느 방안이 더 나은 것인가
•
상황에 따라 달라지며, 단지 정규화를 수행한 것과 수행하지 않은 것의 차이가 존재할 뿐
•
변수 간의 상대적 크기 차이가 모델링에 미치는 영향을 최소화하기 위해서 정규화가 꼭 필요함
•