การคำนวณ ROC Curve และ AUC
แบบฝึกหัดที่ผ่านมาแสดงให้เห็นว่าค่าความแม่นยำ (accuracy) เป็นตัววัดประสิทธิภาพโมเดลที่ทำให้เข้าใจผิดได้ง่ายมาก โดยเฉพาะเมื่อชุดข้อมูลมีความไม่สมดุล การนำผลลัพธ์ของโมเดลมาสร้างกราฟจะช่วยให้เห็นภาพ tradeoff ระหว่างโมเดลที่ทำนายเชิงรุกเกินไปกับโมเดลที่ระมัดระวังเกินไปได้ชัดเจนยิ่งขึ้น
ในแบบฝึกหัดนี้ จะได้สร้าง ROC curve และคำนวณพื้นที่ใต้เส้นโค้ง (AUC) เพื่อประเมินโมเดล logistic regression สำหรับการบริจาคที่สร้างไว้ก่อนหน้า
ชุดข้อมูล donors พร้อมคอลัมน์ความน่าจะเป็นที่พยากรณ์ไว้ชื่อ donation_prob ได้ถูกโหลดให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Supervised Learning in R: Classification
คำแนะนำการฝึกหัด
- โหลดแพ็กเกจ
pROC - สร้าง ROC curve ด้วย
roc()โดยใช้คอลัมน์ของค่าจริงและค่าพยากรณ์ของการบริจาค แล้วเก็บผลลัพธ์ไว้ในตัวแปรROC - ใช้
plot()เพื่อวาดออบเจกต์ROCและระบุcol = "blue"เพื่อให้เส้นโค้งเป็นสีน้ำเงิน - คำนวณพื้นที่ใต้เส้นโค้งด้วย
auc()
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Load the pROC package
# Create a ROC curve
ROC <- roc(___, ___)
# Plot the ROC curve
plot(___, col = ___)
# Calculate the area under the curve (AUC)
auc(___)