Valutazione di un modello multi-classe
Valutiamo il nostro classificatore di nuvole con precision e recall per vedere quanto bene riesce a classificare i sette tipi di nuvole. In questo task di classificazione multi-classe è importante come medi i punteggi sulle classi. Ricorda che ci sono quattro approcci:
- Nessuna media, analizzando i risultati per classe;
- Micro-average, ignorando le classi e calcolando le metriche globalmente;
- Macro-average, calcolando le metriche per classe e poi facendone la media;
- Weighted-average, come la macro ma con una media ponderata in base alla dimensione della classe.
Sia Precision che Recall sono già state importate da torchmetrics. È il momento di vedere come se la cava il nostro modello!
Questo esercizio fa parte del corso
Deep Learning intermedio con PyTorch
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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}")