Collective Inferencing
Collective inferencing เป็นกระบวนการที่ติดป้ายกำกับโหนดในข้อมูลที่เชื่อมโยงกันพร้อมกัน เพื่อลดข้อผิดพลาดในการจำแนกประเภท
ในแบบฝึกหัดนี้ จะได้ทำ collective inferencing และสังเกตผลที่มีต่อการทำนายการเลิกใช้บริการ (churn) โดยใช้ตัววัดประสิทธิภาพ AUC AUC หรือพื้นที่ใต้เส้น ROC curve เป็นตัวชี้วัดที่นิยมใช้ประเมินประสิทธิภาพของเทคนิคการจำแนกประเภท
- AUC = ความน่าจะเป็นที่โมเดลจะจัดอันดับลูกค้าที่เลิกใช้บริการจริงสูงกว่าลูกค้าที่ไม่เลิกใช้บริการที่สุ่มเลือกมา
- AUC = ค่าระหว่าง 0.5 ถึง 1 โดยค่าที่สูงกว่าหมายถึงโมเดลที่ดีกว่า
Collective inferencing ช่วยเพิ่มค่า AUC ได้หรือไม่?
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์เชิงพยากรณ์โดยใช้ข้อมูลเครือข่ายใน R
คำแนะนำการฝึกหัด
- คำนวณ AUC ของ relational neighbor classifier โดยเรียกใช้ฟังก์ชัน
aucจากแพ็กเกจpROCโดยใช้ป้ายกำกับ churn จริงจากcustomers$churnและchurnProbเป็นค่าที่ทำนาย - เขียนลูป
forเพื่อประยุกต์ใช้ probabilistic relational neighbor classifier สิบครั้ง และกำหนดค่าให้กับเวกเตอร์churnProbอีกครั้งในแต่ละรอบ - คำนวณ AUC อีกครั้งโดยใช้เวกเตอร์
churnProbที่อัปเดตแล้ว
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Load the pROC package and data
library(pROC)
load("Nex132.RData")
# Compute the AUC
___(customers$churn, as.vector(churnProb))
# Write a for loop to update the probabilities
___(i in 1:10){
___ <- as.vector((AdjacencyMatrix %*% churnProb) / neighbors)
}
# Compute the AUC again
___(customers$churn, as.vector(___))