더북(TheBook)

샘플 200개를 모두 30번 실행하게끔 설정합니다. 그리고 테스트셋으로 최종 모델의 성과를 측정해 그 값을 출력합니다.

# 모델을 실행합니다.
history = model.fit(X_train, y_train, validation_split=0.25, epochs=30, batch_size=200, verbose=0, callbacks=[early_stopping_callback, checkpointer])

# 테스트 정확도를 출력합니다.
print("\n Test Accuracy: %.4f" % (model.evaluate(X_test, y_test)[1]))

실행 결과를 그래프로 표현해 보겠습니다. 역시 14장에서 실습한 내용과 크게 다르지 않습니다. 다만 이번에는 학습셋의 정확도 대신 학습셋의 오차를 그래프로 표현하겠습니다. 학습셋의 오차는 1에서 학습셋의 정확도를 뺀 값입니다. 좀 더 세밀한 변화를 볼 수 있게 학습셋의 오차와 테스트셋의 오차를 그래프 하나로 나타내겠습니다.

import matplotlib.pyplot as plt

y_vloss = history.history['val_loss']

# 학습셋의 오차
y_loss = history.history['loss']

# 그래프로 표현합니다.
x_len = np.arange(len(y_loss))
plt.plot(x_len, y_vloss, marker='.', c="red", label='Testset_loss')
plt.plot(x_len, y_loss, marker='.', c="blue", label='Trainset_loss')

# 그래프에 그리드를 주고 레이블을 표시합니다.
plt.legend(loc='upper right')
plt.grid()
plt.xlabel('epoch')
plt.ylabel('loss')
plt.show()
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.