Évaluation de modèles multi-classes
Évaluons notre classificateur de nuages avec la précision et le rappel pour voir dans quelle mesure il peut classer les sept types de nuages. Dans cette tâche de classification multi-classes, il est important de faire la moyenne des scores entre les classes. Rappelons qu'il existe quatre approches :
- Ne pas faire de moyenne et analyser les résultats par classe ;
- Micro-moyenne, en ignorant les classes et en calculant les métriques globalement ;
- La macro-moyenne, qui consiste à calculer les métriques par classe et à en faire la moyenne ;
- Moyenne pondérée, comme pour la macro, mais avec une moyenne pondérée par la taille de la classe.
Les sites Precision
et Recall
sont déjà importés de torchmetrics
. Il est temps de voir si notre modèle fonctionne bien !
Cet exercice fait partie du cours
Deep learning intermédiaire avec PyTorch
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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}")