開始使用免費開始

多類別模型評估

來用 precision(精確率)與 recall(召回率)評估我們的雲層分類器,看看它辨識「7」種雲類的表現如何。在這種多類別分類任務中,關鍵在於你如何在各類別之間做平均。回想有四種作法:

  • 不做平均,逐一分析各類別的結果;
  • Micro 平均,忽略類別、在所有樣本上全域計算指標;
  • Macro 平均,先對每個類別各自計算指標,再做簡單平均;
  • 加權平均,類似 Macro,但用類別大小作為加權。

torchmetrics 中的 PrecisionRecall 已經匯入。現在就來看看模型的實際表現吧!

本練習屬於課程

Intermediate Deep Learning with 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}")
編輯並執行程式碼