การประเมินโมเดลการจำแนกประเภทด้วย RNN
ทีม PyBooks ต้องการให้คุณประเมินโมเดล RNN ที่สร้างและรันไปแล้วโดยใช้ชุดข้อมูล Newsgroup โดยเป้าหมายคือการจำแนกบทความออกเป็นหนึ่งในสามหมวดหมู่ ได้แก่
rec.autos, sci.med และ comp.graphics
โมเดลได้รับการเทรนแล้ว และมีการแสดง epoch กับค่า loss ของแต่ละ epoch
ใช้ torchmetrics เพื่อประเมิน metrics ต่าง ๆ ของโมเดล โดยมีสิ่งที่โหลดไว้ให้แล้ว ได้แก่ Accuracy, Precision, Recall และ F1Score
นอกจากนี้ ยังมี instance ของ rnn_model ที่เทรนจากแบบฝึกหัดก่อนหน้าโหลดไว้ให้แล้วเช่นกัน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Deep Learning สำหรับข้อความด้วย PyTorch
คำแนะนำการฝึกหัด
- สร้าง instance ของแต่ละ metric สำหรับการจำแนกประเภทแบบ multi-class โดยกำหนด
num_classesให้เท่ากับจำนวนหมวดหมู่ - สร้างค่าการพยากรณ์จาก
rnn_modelโดยใช้ข้อมูลทดสอบX_test_seq - คำนวณค่า metrics โดยใช้คลาสที่พยากรณ์ได้และ label จริง
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create an instance of the metrics
accuracy = Accuracy(task="multiclass", ____)
precision = Precision(____, num_classes=____)
recall = Recall(task=____, num_classes=____)
f1 = F1Score(____, ____)
# Generate the predictions
outputs = ____(X_test_seq)
_, predicted = ____.____(outputs, 1)
# Calculate the metrics
accuracy_score = accuracy(____, y_test_seq)
precision_score = precision(____, y_test_seq)
recall_score = recall(____, y_test_seq)
f1_score = f1(____, y_test_seq)
print("RNN Model - Accuracy: {}, Precision: {}, Recall: {}, F1 Score: {}".format(accuracy_score, precision_score, recall_score, f1_score))