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

ประเมินโมเดล Logistic Regression

Accuracy โดยทั่วไปไม่ใช่ metric ที่น่าเชื่อถือมากนัก เพราะอาจเกิดความลำเอียงจาก class เป้าหมายที่พบบ่อยที่สุด

มี metric อีก 2 ตัวที่มีประโยชน์ ได้แก่

  • precision และ
  • recall

ดูสไลด์ของบทเรียนนี้เพื่อดูสูตรที่เกี่ยวข้อง

Precision คือสัดส่วนของการทำนายค่าบวกที่ถูกต้อง กล่าวคือ จากเที่ยวบินทั้งหมดที่โมเดลทำนายว่าจะล่าช้า มีสัดส่วนเท่าใดที่ล่าช้าจริง

Recall คือสัดส่วนของผลลัพธ์ค่าบวกที่โมเดลทำนายได้ถูกต้อง กล่าวคือ จากเที่ยวบินที่ล่าช้าทั้งหมด มีสัดส่วนเท่าใดที่โมเดลทำนายได้ถูกต้อง

โดยปกติ precision และ recall จะคำนวณจาก class เป้าหมายค่าบวก แต่ยังสามารถคำนวณเป็นเวอร์ชัน weighted ที่พิจารณา class เป้าหมายทั้งสองได้

องค์ประกอบของ confusion matrix มีให้ใช้งานในตัวแปร TN, TP, FN และ FP รวมถึงออบเจ็กต์ prediction

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Machine Learning with PySpark

ดูคอร์ส

คำแนะนำการฝึกหัด

  • คำนวณค่า precision และ recall
  • สร้าง multi-class evaluator แล้วประเมิน weighted precision
  • สร้าง binary evaluator แล้วประเมิน AUC โดยใช้ metric "areaUnderROC"

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

from pyspark.ml.evaluation import MulticlassClassificationEvaluator, BinaryClassificationEvaluator

# Calculate precision and recall
precision = ____
recall = ____
print('precision = {:.2f}\nrecall    = {:.2f}'.format(precision, recall))

# Find weighted precision
multi_evaluator = ____
weighted_precision = multi_evaluator.____(prediction, {multi_evaluator.metricName: "____"})

# Find AUC
binary_evaluator = ____
auc = binary_evaluator.____(____, {____})
แก้ไขและรันโค้ด