y값 인코딩 - 사이킷런 찾아보기
encoder = LabelEncoder()
encoder.fit(y_label)
y = encoder.transform(y_label)
MaxPooling2D 라이브러리 추가
from tensorflow.keras import layers, MaxPooling2D
조기종료 함수
# 조기종료 함수. validation data의 정확도를 기준으로 정확도가 더 높아지지 않는다면 종료. 또는 1.0의 정확도를 찍으면 종료.
# 모델 학습
# x_train, y_train은 학습용 데이터와 라벨
# epochs = 학습 횟수 (10번)
# validation_data = 실제 학습에는 반영을 하지않는 테스트 데이터
es = EarlyStopping(monitor='val_accuracy', mode='auto', baseline=1.0, min_delta = 0, patience = 0,verbose = 0)
history = model.fit(X_train, y_train, epochs=10, validation_data=(X_test, y_test),callbacks=[es])
# 따라서 모델학습할때 조기종료함수 포함해서 써야함
실행 결과
#테스트 데이터 예측 및 정답 확인.
print(model.predict(np.expand_dims(X_test[0], axis = 0)))
print("예측된 정답: ",encoder.inverse_transform(np.argmax(model.predict(np.expand_dims(X_test[0], axis = 0))).reshape(-1,1)))
print("실제 정답: ",encoder.inverse_transform(y_test[0].reshape(-1,1)))