เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

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))
แก้ไขและรันโค้ด