데이터셋에서 데이터 간의 분포가 다르게 나타나고 있습니다. 분포를 고르게 맞추기 위한 과정이 필요한데 MinMaxScaler()와 StandardScaler()를 사용하여 분산을 조정해 보겠습니다.
코드 7-45 데이터 분포 조정
ms = MinMaxScaler() ------ 데이터의 모든 값이 0~1 사이에 존재하도록 분산 조정
ss = StandardScaler() ------ 데이터가 평균 0, 분산 1이 되도록 분산 조정
X_ss = ss.fit_transform(X)
y_ms = ms.fit_transform(y)
X_train = X_ss[:200, :] ------ 훈련 데이터셋
X_test = X_ss[200:, :] ------ 테스트 데이터셋
y_train = y_ms[:200, :]
y_test = y_ms[200:, :]
print("Training Shape", X_train.shape, y_train.shape)
print("Testing Shape", X_test.shape, y_test.shape)
코드를 실행하면 훈련과 테스트 데이터셋에 대한 형태를 보여 줍니다.
Training Shape (200, 5) (200, 1) Testing Shape (53, 5) (53, 1)