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

การประเมินค่าความผิดพลาดบนชุดข้อมูลทดสอบ

เมื่อได้ posterior_predictive แล้ว (ซึ่งมีอยู่ใน workspace ของคุณแล้ว) ขั้นตอนต่อไปคือการประเมินประสิทธิภาพของโมเดลบนข้อมูลใหม่ โดยจะต้องวนลูปผ่านการสังเกตการณ์ในชุดทดสอบ และสำหรับแต่ละรายการ ให้คำนวณค่าความผิดพลาดของการพยากรณ์ว่าเป็นผลต่างระหว่างการแจกแจงเชิงพยากรณ์กับค่าจริง จากนั้นนำการแจกแจงของค่าความผิดพลาดของโมเดลมาแสดงเป็นภาพ

โดยต้องใช้ pymc3 และ numpy ซึ่งถูก import ไว้ให้แล้วในชื่อ pm และ np ตามลำดับ ข้อมูลทดสอบ bikes_test ก็มีอยู่ใน workspace เช่นกัน ไปเริ่มกันเลย!

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

การวิเคราะห์ข้อมูลแบบเบย์เซียนด้วย Python

ดูคอร์ส

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

  • กำหนดให้ errors เป็น list ว่าง
  • สำหรับแต่ละแถวใน bikes_test ให้คำนวณค่าความผิดพลาดของการพยากรณ์โดยนำค่าพยากรณ์ของแถวนั้นจาก posterior_predictive ลบด้วยค่าจริงของ num_bikes จากแถวนั้น
  • แปลง errors ให้เป็น numpy array แล้วใช้เมธอด .reshape() กับผลลัพธ์ที่ได้ จากนั้นกำหนดผลลัพธ์สุดท้ายให้กับ error_distribution
  • พล็อตการแจกแจงค่าความผิดพลาดของชุดทดสอบโดยใช้ฟังก์ชัน plot_posterior() ของ pymc3

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

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

# Initialize errors
errors = ____

# Iterate over rows of bikes_test to compute error per row
for index, test_example in bikes_test.iterrows():
    error = ____[____][:, ____] - ____[____]
    errors.append(error)

# Reshape errors
error_distribution = ____(____).____()

# Plot the error distribution
____
plt.show()
แก้ไขและรันโค้ด