วิธีการคำนวณสัมประสิทธิ์สหสัมพันธ์ของแมทธิวส์ใน python
ค่าสัมประสิทธิ์สหสัมพันธ์ของแมทธิวส์ (MCC) เป็นหน่วยเมตริกที่เราสามารถใช้เพื่อประเมินประสิทธิภาพของ แบบจำลองการจำแนกประเภท
มีการคำนวณดังนี้:
MCC = (TP*TN – FP*FN) / √ (TP+FP)(TP+FN)(TN+FP)(TN+FN)
ทอง:
- TP : จำนวนผลบวกจริง
- TN : จำนวนผลลบจริง
- FP : จำนวนผลบวกลวง
- FN : จำนวนผลลบลวง
หน่วยวัดนี้มีประโยชน์อย่างยิ่งเมื่อทั้งสองคลาสไม่สมดุล กล่าวคือ คลาสหนึ่งปรากฏมากกว่าคลาสอื่นมาก
ค่าของ MCC อยู่ระหว่าง -1 ถึง 1 โดยที่:
- -1 หมายถึงความขัดแย้งทั้งหมดระหว่างคลาสที่คาดการณ์ไว้และคลาสจริง
- 0 หมายถึงการเดาสุ่มโดยสมบูรณ์
- 1 หมายถึงข้อตกลงที่สมบูรณ์ระหว่างคลาสที่คาดการณ์และคลาสจริง
ตัวอย่างเช่น สมมติว่านักวิเคราะห์กีฬาใช้ แบบจำลองการถดถอยลอจิสติกส์ เพื่อคาดการณ์ว่าผู้เล่นบาสเกตบอลระดับวิทยาลัยจำนวน 400 คนจะถูกคัดเลือกเข้าสู่ NBA หรือไม่
เมทริกซ์ความสับสนต่อไปนี้สรุปการคาดการณ์ที่ทำโดยโมเดล:

ในการคำนวณ MCC ของแบบจำลอง เราสามารถใช้สูตรต่อไปนี้:
- MCC = (TP*TN – FP*FN) / √ (TP+FP)(TP+FN)(TN+FP)(TN+FN)
- MCC = (15*375-5*5) / √ (15+5)(15+5)(375+5)(375+5)
- MCC = 0.7368
ค่าสัมประสิทธิ์สหสัมพันธ์ของแมทธิวส์กลายเป็น 0.7368 ค่านี้ค่อนข้างใกล้เคียงกับค่าหนึ่ง ซึ่งบ่งชี้ว่าโมเดลทำงานได้ดีในการทำนายว่าผู้เล่นจะถูกดราฟท์หรือไม่
ตัวอย่างต่อไปนี้แสดงวิธีคำนวณ MCC สำหรับสถานการณ์เฉพาะนี้โดยใช้ฟังก์ชัน matthews_corrcoef() จากไลบรารี sklearn ใน Python
ตัวอย่าง: การคำนวณค่าสัมประสิทธิ์สหสัมพันธ์ของแมทธิวส์ใน Python
รหัสต่อไปนี้แสดงวิธีการกำหนดอาร์เรย์ของคลาสที่คาดการณ์และอาร์เรย์ของคลาสจริง จากนั้นคำนวณค่าสัมประสิทธิ์สหสัมพันธ์ของแมทธิวส์ของแบบจำลองใน Python:
import numpy as np from sklearn. metrics import matthews_corrcoef #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 Matthews correlation coefficient matthews_corrcoef(actual, pred) 0.7368421052631579
MCC คือ 0.7368 ซึ่งตรงกับค่าที่เราคำนวณด้วยตนเองก่อนหน้านี้
หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มสำหรับฟังก์ชัน matthews_corrcoef() ได้ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีคำนวณหน่วยวัดทั่วไปอื่นๆ สำหรับโมเดลการจัดหมวดหมู่ใน Python:
ข้อมูลเบื้องต้นเกี่ยวกับการถดถอยโลจิสติกใน Python
วิธีคำนวณคะแนน F1 ใน Python
วิธีการคำนวณความแม่นยำที่สมดุลใน Python