
156
파이썬 라이브러리를 활용한 머신러닝(번역개정판)
MLP
의 정확도는 꽤 높지만 다른 모델만큼은 아닙니다. 앞서
SVC
예제에서는 데이터의 스케
일이 영향을 미쳤습니다. 이와 비슷하게 신경망도 모든 입력 특성을 평균은
0
, 분산은
1
이 되
도록 변형하는 것이 좋습니다.
68
그럼 이 조건에 맞도록 데이터의 스케일을 맞춰보겠습니다.
3
장에서 이를 자동으로 처리해주는
StandardScaler
를 배우겠지만 여기서는 우리가 직접 해보
도록 하겠습니다.
In [102]:
# 훈련 세트 각 특성의 평균을 계산합니다.
mean_on_train = X_train.mean(axis=0)
# 훈련 세트 각 특성의 표준 편차를 계산합니다.
std_on_train = X_train.std(axis=0)
# 데이터에서 평균을 빼고 표준 편차로 나누면
# 평균 0, 표준 편차 1인 데이터로 변환됩니다.
X_train_scaled = (X_train - mean_on_train) / std_on_train
# (훈련 데이터의 평균과 표준 편차를 이용해) 같은 변환을 테스트 세트에도 합니다.
X_test_scaled = (X_test - mean_on_train) / std_on_train
mlp = MLPClassier(random_state=0)
mlp.t(X_train_scaled, y_train) ...