더북(TheBook)

2.2.6 모델 평가

주어진 테스트 데이터셋을 사용하여 모델을 평가합니다. 모델에 대한 평가는 함수와 모듈을 이용하는 두 가지 방법이 있습니다. 먼저 모델 평가를 위해 터미널 커맨드라인(아나콘다 프롬프트)에서 pip 명령어를 사용하여 다음 패키지를 설치합니다.

> pip install torchmetrics

함수를 이용하여 모델을 평가하는 코드는 다음과 같습니다.

import torch
import torchmetrics

preds = torch.randn(10, 5).softmax(dim=-1)
target = torch.randint(5, (10,))

acc = torchmetrics.functional.accuracy(preds, target) ------ 모델을 평가하기 위해 torchmetrics.functional.accuracy 이용

다음은 모듈을 이용하여 모델을 평가하는 코드입니다.

import torch
import torchmetrics
metric = torchmetrics.Accuracy() ------ 모델 평가(정확도) 초기화

n_batches = 10
for i in range(n_batches):
    preds = torch.randn(10, 5).softmax(dim=-1)
    target = torch.randint(5, (10,))

    acc = metric(preds, target)
    print(f"Accuracy on batch {i}: {acc}") ------ 현재 배치에서 모델 평가(정확도)

acc = metric.compute()
print(f"Accuracy on all data: {acc}") ------ 모든 배치에서 모델 평가(정확도)

혹은 사이킷런에서 제공하는 혼동 행렬을 이용하는 방법도 고려해 볼 수 있습니다. 사이킷런의 metrics 모듈에서 제공하는 confusion_matrix, accuracy_scoreclassification_report 클래스를 이용하면 쉽게 정확도(accuracy)를 찾을 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.