วิธีคำนวณความแม่นยำที่สมดุลใน python โดยใช้ sklearn


ความแม่นยำที่สมดุล เป็นตัวชี้วัดที่เราสามารถใช้เพื่อประเมินประสิทธิภาพของ แบบจำลองการจำแนกประเภท

มีการคำนวณดังนี้:

ความแม่นยำที่สมดุล = (ความไว + ความเฉพาะเจาะจง) / 2

ทอง:

  • ความไว : “อัตราบวกที่แท้จริง” – เปอร์เซ็นต์ของกรณีและปัญหาเชิงบวกที่แบบจำลองสามารถตรวจจับได้
  • ความจำเพาะ : “อัตราเชิงลบที่แท้จริง” – เปอร์เซ็นต์ของกรณีและปัญหาเชิงลบที่แบบจำลองสามารถตรวจพบได้

หน่วยวัดนี้มีประโยชน์อย่างยิ่งเมื่อทั้งสองคลาสไม่สมดุล กล่าวคือ คลาสหนึ่งปรากฏมากกว่าคลาสอื่นมาก

ตัวอย่างเช่น สมมติว่านักวิเคราะห์กีฬาใช้ แบบจำลองการถดถอยลอจิสติกส์ เพื่อคาดการณ์ว่าผู้เล่นบาสเกตบอลระดับวิทยาลัยจำนวน 400 คนจะถูกคัดเลือกเข้าสู่ NBA หรือไม่

เมทริกซ์ความสับสนต่อไปนี้สรุปการคาดการณ์ที่ทำโดยแบบจำลอง:

ในการคำนวณความแม่นยำที่สมดุลของแบบจำลอง เราจะคำนวณความไวและความจำเพาะก่อน:

  • ความไว : “อัตราบวกที่แท้จริง” = 15 / (15 + 5) = 0.75
  • ความจำเพาะ : “อัตราติดลบที่แท้จริง” = 375 / (375 + 5) = 0.9868

จากนั้นเราสามารถคำนวณความแม่นยำที่สมดุลได้ดังนี้:

  • ความแม่นยำที่สมดุล = (ความไว + ความเฉพาะเจาะจง) / 2
  • ความแม่นยำที่สมดุล = (0.75 + 9868) / 2
  • ความแม่นยำที่สมดุล = 0.8684

ความแม่นยำที่สมดุลของแบบจำลองกลายเป็น 0.8684 .

ตัวอย่างต่อไปนี้แสดงวิธีคำนวณความแม่นยำที่สมดุลสำหรับสถานการณ์เฉพาะนี้โดยใช้ฟังก์ชัน Balanced_accuracy_score() จากไลบรารี sklearn ใน Python

ตัวอย่าง: การคำนวณความแม่นยำที่สมดุลใน Python

รหัสต่อไปนี้แสดงวิธีการกำหนดอาร์เรย์ของคลาสที่คาดการณ์และอาร์เรย์ของคลาสจริง จากนั้นคำนวณความแม่นยำที่สมดุลของโมเดลใน Python:

 import numpy as np
from sklearn. metrics import balanced_accuracy_score

#define array of actual classes
actual = np. repeat ([1, 0], repeats=[20, 380])

#define array of predicted classes
pred = np. repeat ([1, 0, 1, 0], repeats=[15, 5, 5, 375])

#calculate balanced accuracy score
balanced_accuracy_score(actual, pred)

0.868421052631579

ความแม่นยำที่สมดุลคือ 0.8684 ซึ่งตรงกับค่าที่เราคำนวณด้วยตนเองก่อนหน้านี้

หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มสำหรับฟังก์ชัน Balanced_accuracy_score() ได้ที่นี่

แหล่งข้อมูลเพิ่มเติม

ข้อมูลเบื้องต้นเกี่ยวกับความแม่นยำที่สมดุล
วิธีการดำเนินการถดถอยโลจิสติกใน Python
วิธีคำนวณคะแนน F1 ใน Python

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

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