데이터 스케일링(data scaling)은 데이터의 값을 정규화하는 과정입니다.
이를 수행하는 이유는 일부 머신러닝 알고리즘이나 기술들이 값의 크기(스케일) 에 민감하기 때문입니다. 일반적으로는 데이터를 특정 범위(예를 들어 0과 1 사이)로 정규화 하거나 표준화(표준 정규분호)하는 방법을 사용합니다.
from sklearn.preprocessing import MinMaxScaler
# x_train 을 스케일링
scaler = MinMaxScaler()
scaler.fit(x_train)
x_train_scaled = scaler.transform(x_train)
# x_test 를 스케일링
x_test = scaler.transform(x_test)
from sklearn.preprocessing import StandardScaler
# x_train 을 스케일링
scaler = StandardScaler()
scaler.fit(x_train)
x_train_scaled = scaler.transform(x_train)
# x_test 를 스케일링
x_test = scaler.transform(x_test)
스케일링은 무조건 train 만 하고 transform 은 train 과 test 둘 다 진행합니다.
가끔 test 가 범위를 벗어나는 예외가 발생하기 떄문입니다.