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_score와 classification_report 클래스를 이용하면 쉽게 정확도(accuracy)를 찾을 수 있습니다.