Évaluation d'un modèle multiclasse
Évaluons notre classificateur de nuages avec la précision (precision) et le rappel (recall) pour voir à quel point il distingue les sept types de nuages. Dans cette tâche de classification multiclasse, la façon de moyenner les scores sur les classes est importante. Rappelez-vous qu'il existe quatre approches :
- Sans moyenne, en analysant les résultats par classe ;
- Micro-moyenne, en ignorant les classes et en calculant les mesures globalement ;
- Macro-moyenne, en calculant les mesures par classe puis en les moyennant ;
- Moyenne pondérée, comme la macro, mais avec une moyenne pondérée par la taille de chaque classe.
Precision et Recall sont déjà importés depuis torchmetrics. Voyons maintenant à quel point notre modèle s'en sort !
Cette activité fait partie du cours
Apprentissage profond intermédiaire avec PyTorch
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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}")