Precision, ROI และ AUC
ผลตอบแทนจากการลงทุน (ROI) สามารถแยกออกได้เป็นค่า precision คูณกับอัตราส่วนระหว่างผลตอบแทนและต้นทุน ดังที่ได้กล่าวไปแล้ว ค่า precision ของโมเดลอาจต่ำได้แม้ค่า AUC ของ ROC curve จะสูงก็ตาม หาก precision ต่ำ ROI ก็จะต่ำตามไปด้วย ในแบบฝึกหัดนี้ จะใช้ MLP เพื่อคำนวณค่า ROI ตัวอย่าง โดยกำหนดให้ r คือผลตอบแทนต่อการคลิกหนึ่งครั้งต่อจำนวนการแสดงผล และ cost คือต้นทุนต่อจำนวนการแสดงผล พร้อมกับค่า precision และ AUC ของ ROC curve เพื่อดูว่าค่าทั้งสามเปลี่ยนแปลงอย่างไร
X_train, y_train, X_test, y_test พร้อมใช้งานใน workspace ของคุณ รวมถึง clf ในฐานะ MLP classifier, คะแนนความน่าจะเป็นที่เก็บไว้ใน y_score และค่าเป้าหมายที่พยากรณ์ไว้ใน y_pred นอกจากนี้ยังมี pandas ในชื่อ pd และ sklearn ให้ใช้งานใน workspace ด้วย
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การพยากรณ์ CTR ด้วย Machine Learning ใน Python
คำแนะนำการฝึกหัด
- คำนวณค่า precision
precของ MLP classifier - คำนวณค่า ROI รวมโดยอิงจากค่า precision
prec
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Get precision and total ROI
prec = ____(y_test, ____, average = 'weighted')
r = 0.2
cost = 0.05
roi = ____ * r / cost
# Get AUC
roc_auc = roc_auc_score(y_test, y_score[:, 1])
print("Total ROI: %s, Precision: %s, AUC of ROC curve: %s" %(
roi, prec, roc_auc))