วิธีการคำนวณคะแนน f1 ใน python (รวมถึงตัวอย่าง)
เมื่อใช้ แบบจำลองการจัดหมวดหมู่ ในการเรียนรู้ของเครื่อง ตัวชี้วัดทั่วไปที่เราใช้ในการประเมินคุณภาพของแบบจำลองคือ คะแนน 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 สำหรับโมเดลนี้ใน Python
ตัวอย่าง: การคำนวณคะแนน F1 ใน Python
รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน f1_score() ของแพ็คเกจ sklearn ใน Python เพื่อคำนวณคะแนน F1 สำหรับอาร์เรย์ที่กำหนดของค่าที่คาดการณ์และค่าจริง
import numpy as np from sklearn. metrics import f1_score #define array of actual classes actual = np. repeat ([1, 0], repeats=[160, 240]) #define array of predicted classes pred = np. repeat ([1, 0, 1, 0], repeats=[120, 40, 70, 170]) #calculate F1 score f1_score(actual, pred) 0.6857142857142857
เราจะเห็นว่าคะแนน F1 คือ 0.6857 . ซึ่งตรงกับค่าที่เราคำนวณด้วยตนเองก่อนหน้านี้
หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มสำหรับฟังก์ชัน f1_score() ได้ที่นี่
หมายเหตุเกี่ยวกับการใช้คะแนน F1
หากคุณใช้คะแนน F1 เพื่อเปรียบเทียบหลายรุ่น โมเดลที่มีคะแนน F1 สูงสุดจะแสดงแบบจำลองที่สามารถจำแนกการสังเกตออกเป็นคลาสได้ดีที่สุด
ตัวอย่างเช่น หากคุณปรับโมเดลการถดถอยโลจิสติกอื่นเข้ากับข้อมูลได้ และโมเดลนั้นมีคะแนน F1 เท่ากับ 0.75 โมเดลนั้นจะถือว่าดีกว่าเนื่องจากมีคะแนน F1 ที่สูงกว่า
แหล่งข้อมูลเพิ่มเติม
วิธีการดำเนินการถดถอยโลจิสติกใน Python
วิธีสร้างเมทริกซ์ความสับสนใน Python
วิธีการคำนวณความแม่นยำที่สมดุลใน Python
คะแนน F1 เทียบกับความแม่นยำ: คุณควรใช้อันไหน