앞에서 저장했던 최적의 모델을 불러와서 평가를 진행합니다.
코드 10-51 모델 평가
best_model = model.to(device)
load_checkpoint('../chap10/data/model.pt', best_model)
evaluate(best_model, test_loader)
다음은 혼동 행렬에 대한 결과입니다.
Model loaded from <== ../chap10/data/model.pt Classification 결과: precision recall f1-score support 1 0.5091 1.0000 0.6747 558 0 0.0000 0.0000 0.0000 538 accuracy 0.5091 1096 macro avg 0.2546 0.5000 0.3374 1096 weighted avg 0.2592 0.5091 0.3435 1096
혼동 행렬 결과를 이해하기 어렵다면 다음 그림과 같이 히트맵(heatmap)을 이용하여 가시적으로 표현하면 이해하기 쉽습니다.
▲ 그림 10-25 혼동 행렬 결과
역시 결과가 좋지 않습니다. 모델을 훈련시키기 위한 데이터가 작았고, 사전 훈련된 모델도 다국어를 지원하는 모델이 아니었습니다. 다국어를 지원하는 모델은 ‘10.3 한국어 임베딩’에서 사용합니다.