วิธีการคำนวณคะแนน 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 เทียบกับความแม่นยำ: คุณควรใช้อันไหน

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *