多类别模型评估
让我们用精确率(precision)和召回率(recall)来评估云层分类器,看看它对这七种云的分类效果如何。在多类别分类任务中,关键在于如何对各类别的得分进行平均。回顾有四种做法:
- 不做平均,逐类分析结果;
- Micro 平均,对所有样本全局计算指标而忽略类别;
- Macro 平均,先按类别分别计算指标,再做简单平均;
- 加权平均,与 Macro 类似,但用类别样本量作为权重。
torchmetrics 中已导入 Precision 和 Recall。现在就来看看模型的表现吧!
本练习是课程的一部分
PyTorch 深度学习进阶
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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}")