Evaluarea modelului multi-clasă
Hai să evaluăm clasificatorul nostru de nori cu ajutorul preciziei și al recall-ului, pentru a vedea cât de bine identifică cele șapte tipuri de nori. Într-o sarcină de clasificare multi-clasă, modul în care calculezi media scorurilor peste clase contează mult. Reamintește-ți că există patru abordări:
- Fără mediere – analizezi rezultatele separat pentru fiecare clasă;
- Mediere micro – ignori clasele și calculezi metricile la nivel global;
- Mediere macro – calculezi metricile pentru fiecare clasă, apoi le mediezi;
- Mediere ponderată – similar cu macro, dar media este ponderată în funcție de dimensiunea fiecărei clase.
Atât Precision, cât și Recall sunt deja importate din torchmetrics. E momentul să vedem cât de bine se descurcă modelul nostru!
Acest exercițiu face parte din cursul
Deep Learning intermediar cu PyTorch
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Define metrics
metric_precision = Precision(task=____, num_classes=____, average=____)
metric_recall = ____
net.eval()
with torch.no_grad():
for images, labels in dataloader_test:
outputs = net(images)
_, preds = torch.max(outputs, 1)
metric_precision(preds, labels)
metric_recall(preds, labels)
precision = metric_precision.compute()
recall = metric_recall.compute()
print(f"Precision: {precision}")
print(f"Recall: {recall}")