การคำนวณ Confusion Matrix
Confusion matrix (หรือบางครั้งเรียกว่า confusion table) คือพื้นฐานของ metrics ทุกตัวที่ใช้วัดประสิทธิภาพของโมเดลที่มีตัวแปรตอบสนองเป็นหมวดหมู่ เช่น logistic regression โดย confusion matrix จะบันทึกจำนวนของคู่ค่าตอบสนองจริงและค่าที่พยากรณ์ได้ทุกรูปแบบ ในกรณีนี้ที่มีผลลัพธ์ที่เป็นไปได้ 2 แบบ (churn หรือ ไม่ churn) จะมีผลลัพธ์รวม 4 ประเภท ได้แก่
- True positive: ลูกค้า churn จริง และโมเดลพยากรณ์ว่าจะ churn
- False positive: ลูกค้าไม่ได้ churn แต่โมเดลพยากรณ์ว่าจะ churn
- True negative: ลูกค้าไม่ได้ churn และโมเดลพยากรณ์ว่าจะไม่ churn
- False negative: ลูกค้า churn จริง แต่โมเดลพยากรณ์ว่าจะไม่ churn
churn และ mdl_churn_vs_relationship พร้อมใช้งานแล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การถดถอยเบื้องต้นด้วย statsmodels ใน Python
คำแนะนำการฝึกหัด
- ดึงค่าตอบสนองจริงโดย subset คอลัมน์
has_churnedจากชุดข้อมูล แล้วกำหนดให้กับactual_response - ดึงค่าตอบสนองที่พยากรณ์แบบ "มีความน่าจะเป็นสูงสุด" จากโมเดล แล้วกำหนดให้กับ
predicted_response - สร้าง DataFrame จาก
actual_responseและpredicted_responseแล้วกำหนดให้กับoutcomes - แสดงผล
outcomesเป็นตารางนับจำนวน ซึ่งแทน confusion matrix ขั้นตอนนี้ทำให้แล้ว
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Get the actual responses
actual_response = ____
# Get the predicted responses
predicted_response = ____
# Create outcomes as a DataFrame of both Series
outcomes = pd.DataFrame({____,
____})
# Print the outcomes
print(outcomes.value_counts(sort = False))