เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การประเมินโมเดลแบบหลายคลาส

มาประเมินตัวจำแนกประเภทเมฆด้วย precision และ recall เพื่อดูว่าโมเดลจำแนกเมฆทั้ง เจ็ด ประเภทได้ดีแค่ไหน ในงาน classification แบบหลายคลาส วิธีการเฉลี่ยคะแนนข้ามคลาสมีความสำคัญมาก ซึ่งมีอยู่ 4 แนวทาง ได้แก่:

  • ไม่เฉลี่ย แต่วิเคราะห์ผลลัพธ์แยกตามแต่ละคลาส
  • Micro-averaging คำนวณ metric โดยรวมจากทุกตัวอย่างโดยไม่แยกคลาส
  • Macro-averaging คำนวณ metric แยกตามคลาส แล้วนำมาเฉลี่ย
  • Weighted-averaging คล้ายกับ macro แต่ถ่วงน้ำหนักการเฉลี่ยตามขนาดของแต่ละคลาส

Precision และ Recall ถูก import จาก torchmetrics ไว้แล้ว ได้เวลาดูกันว่าโมเดลของเราทำงานได้ดีเพียงใด!

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Deep Learning ระดับกลางด้วย 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}")
แก้ไขและรันโค้ด