Analizzare le metriche per classe
Le metriche aggregate sono utili per avere un'indicazione delle prestazioni del modello, ma spesso è ancora più informativo guardare le metriche per classe. Questo può rivelare classi su cui il modello performa peggio.
In questo esercizio, eseguirai di nuovo il ciclo di valutazione per ottenere la precision del nostro classificatore di nuvole, questa volta per singola classe. Poi mapperai questi punteggi ai nomi delle classi per interpretarli. Come al solito, Precision è già stato importato per te. Buon lavoro!
Questo esercizio fa parte del corso
Deep Learning intermedio con PyTorch
Istruzioni dell'esercizio
- Definisci una metrica di precision adatta a risultati per classe.
- Calcola la precision per classe completando la dict comprehension, iterando su
.items()dell'attributo.class_to_idxdidataset_test.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Define precision metric
metric_precision = Precision(
____, ____, ____
)
net.eval()
with torch.no_grad():
for images, labels in dataloader_test:
outputs = net(images)
_, preds = torch.max(outputs, 1)
metric_precision(preds, labels)
precision = metric_precision.compute()
# Get precision per class
precision_per_class = {
k: ____[____].____
for k, v
in ____
}
print(precision_per_class)