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

ประเมินผล Decision Tree

ประเมินคุณภาพของโมเดลได้โดยดูว่าโมเดลทำงานได้ดีเพียงใดบนข้อมูลทดสอบ เนื่องจากโมเดลไม่เคยเห็นข้อมูลชุดนี้ระหว่างการฝึก ผลที่ได้จึงเป็นการประเมินที่เป็นกลางและน่าเชื่อถือ

Confusion matrix ช่วยสรุปภาพรวมของการพยากรณ์เทียบกับค่าจริงได้อย่างชัดเจน โดยแบ่งออกเป็น 4 ช่องที่แสดงจำนวนของ:

  • True Negatives (TN) — โมเดลพยากรณ์ผลลบ และค่าจริงก็เป็นผลลบ
  • True Positives (TP) — โมเดลพยากรณ์ผลบวก และค่าจริงก็เป็นผลบวก
  • False Negatives (FN) — โมเดลพยากรณ์ผลลบ แต่ค่าจริงเป็นผลบวก
  • False Positives (FP) — โมเดลพยากรณ์ผลบวก แต่ค่าจริงเป็นผลลบ

ผลรวมของ TN, TP, FN และ FP ควรเท่ากับจำนวนระเบียนในข้อมูลทดสอบ ซึ่งเป็นเพียงส่วนหนึ่งของข้อมูลเที่ยวบิน สามารถเปรียบเทียบกับจำนวนระเบียนในข้อมูลทดสอบได้ผ่าน flights_test.count()

หมายเหตุ: การพยากรณ์เหล่านี้ทำบนข้อมูล ทดสอบ ดังนั้นตัวเลขที่ได้จะน้อยกว่าที่จะได้หากพยากรณ์บนข้อมูลฝึก

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

Machine Learning with PySpark

ดูคอร์ส

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

  • สร้าง confusion matrix โดยนับจำนวนการรวมกันของ label และ prediction แล้วแสดงผลลัพธ์
  • นับจำนวน True Negatives, True Positives, False Negatives และ False Positives
  • คำนวณความแม่นยำ (accuracy)

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

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

# Create a confusion matrix
prediction.groupBy(____, 'prediction').____().____()

# Calculate the elements of the confusion matrix
TN = prediction.filter('prediction = 0 AND label = prediction').count()
TP = prediction.____('____ AND ____').____()
FN = prediction.____('____ AND ____').____()
FP = prediction.____('____ AND ____').____()

# Accuracy measures the proportion of correct predictions
accuracy = ____
print(accuracy)
แก้ไขและรันโค้ด