วิธีคำนวณคะแนน f1 ใน r (พร้อมตัวอย่าง)
เมื่อใช้ แบบจำลองการจัดหมวดหมู่ ในการเรียนรู้ของเครื่อง ตัวชี้วัดทั่วไปที่เราใช้ในการประเมินคุณภาพของแบบจำลองคือ คะแนน F1
เมตริกนี้คำนวณดังนี้:
คะแนน F1 = 2 * (ความแม่นยำ * การเรียกคืน) / (ความแม่นยำ + การเรียกคืน)
ทอง:
- ความแม่นยำ : แก้ไขการคาดการณ์เชิงบวกโดยสัมพันธ์กับการคาดการณ์เชิงบวกทั้งหมด
- คำเตือน : การแก้ไขการคาดการณ์เชิงบวกเทียบกับผลบวกจริงทั้งหมด
ตัวอย่างเช่น สมมติว่าเราใช้แบบจำลองการถดถอยลอจิสติกส์เพื่อคาดการณ์ว่าผู้เล่นบาสเกตบอลระดับวิทยาลัยกว่า 400 คนจะถูกคัดเลือกเข้าสู่ NBA หรือไม่
เมทริกซ์ความสับสนต่อไปนี้สรุปการคาดการณ์ที่ทำโดยโมเดล:
ต่อไปนี้เป็นวิธีคำนวณคะแนน F1 ของโมเดล:
ความแม่นยำ = ผลบวกจริง / (ผลบวกจริง + ผลบวกลวง) = 120/ (120+70) = 0.63157
การเรียกคืน = True Positive / (True Positive + False Negative) = 120 / (120+40) = 0.75
คะแนน F1 = 2 * (.63157 * .75) / (.63157 + .75) = . 6857
ตัวอย่างต่อไปนี้แสดงวิธีคำนวณคะแนน F1 สำหรับแบบจำลองนี้ใน R
ตัวอย่าง: การคำนวณคะแนน F1 ใน R
รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน ความสับสนMatrix() จากแพ็คเกจ คาเร็ต ใน R เพื่อคำนวณคะแนน F1 (และหน่วยวัดอื่นๆ) สำหรับแบบจำลองการถดถอยโลจิสติกที่กำหนด:
library (caret) #define vectors of actual values and predicted values actual <- factor(rep(c(1, 0), times=c(160, 240))) pred <- factor(rep(c(1, 0, 1, 0), times=c(120, 40, 70, 170))) #create confusion matrix and calculate metrics related to confusion matrix confusionMatrix(pred, actual, mode = " everything ", positive=" 1 ") Reference Prediction 0 1 0 170 40 1 70 120 Accuracy: 0.725 95% CI: (0.6784, 0.7682) No Information Rate: 0.6 P-Value [Acc > NIR]: 1.176e-07 Kappa: 0.4444 Mcnemar's Test P-Value: 0.005692 Sensitivity: 0.7500 Specificity: 0.7083 Pos Pred Value: 0.6316 Neg Pred Value: 0.8095 Accuracy: 0.6316 Recall: 0.7500 F1: 0.6857 Prevalence: 0.4000 Detection Rate: 0.3000 Detection Prevalence: 0.4750 Balanced Accuracy: 0.7292 'Positive' Class: 1
เราจะเห็นว่าคะแนน F1 คือ 0.6857 . ซึ่งตรงกับค่าที่เราคำนวณด้วยตนเองก่อนหน้านี้
หมายเหตุ : เราจำเป็นต้องระบุ mode=”everthing” เพื่อให้คะแนน F1 ปรากฏในเอาต์พุต
หากคุณใช้คะแนน F1 เพื่อเปรียบเทียบหลายรุ่น โมเดลที่มีคะแนน F1 สูงสุดจะแสดงแบบจำลองที่สามารถจำแนกการสังเกตออกเป็นคลาสได้ดีที่สุด
ตัวอย่างเช่น หากคุณปรับโมเดลการถดถอยโลจิสติกอื่นเข้ากับข้อมูลได้ และโมเดลนั้นมีคะแนน F1 เท่ากับ 0.85 โมเดลนั้นจะถือว่าดีกว่าเนื่องจากมีคะแนน F1 ที่สูงกว่า
แหล่งข้อมูลเพิ่มเติม
วิธีดำเนินการถดถอยโลจิสติกใน R
คะแนน F1 เทียบกับความแม่นยำ: คุณควรใช้อันไหน