더북(TheBook)

학습이 끝났으므로 테스트 데이터셋으로 예측을 진행해 봅시다. 앞에서 준비했던 categorical_test_data 데이터셋을 모델에 적용합니다.

코드 2-15 테스트 데이터셋으로 모델 예측

test_outputs = test_outputs.to(device=device, dtype=torch.int64)
with torch.no_grad():
    y_val = model(categorical_test_data)
    loss = loss_function(y_val, test_outputs)
print(f'Loss: {loss:.8f}')

코드를 실행하면 테스트 용도의 데이터셋에 대한 손실 값을 보여 줍니다. 이 값은 훈련 데이터셋에서 도출된 손실 값과 비슷하므로 과적합은 발생하지 않았다고 판단할 수 있습니다.

Loss: 0.55525565

이제 테스트 데이터셋을 이용했을 때 모델이 얼마나 잘 예측하는지 살펴봅시다. 앞에서 모델 네트워크의 output_size에 4를 지정했습니다. 즉, 출력층에 네 개의 뉴런이 포함되도록 지정했으므로 각 예측에는 네 개의 값이 포함될 것입니다.

코드 2-16 모델의 예측 확인

print(y_val[:5])
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.