Ước lượng lỗi kiểm thử
Giờ bạn đã có posterior_predictive (có sẵn trong không gian làm việc), bạn có thể đánh giá hiệu năng mô hình trên dữ liệu mới. Để làm điều này, bạn sẽ cần lặp qua các quan sát trong tập kiểm thử và với mỗi quan sát, tính lỗi dự đoán bằng hiệu giữa phân phối dự đoán cho quan sát đó và giá trị thực tế. Việc này sẽ cho bạn phân phối lỗi của mô hình, sau đó bạn có thể trực quan hóa.
Bạn sẽ cần pymc3 và numpy, đã được nhập sẵn lần lượt là pm và np. Dữ liệu kiểm thử, bikes_test, cũng có sẵn trong không gian làm việc. Bắt đầu thôi!
Bài tập này là một phần của khóa học
Phân tích dữ liệu Bayesian với Python
Hướng dẫn bài tập
- Khởi tạo
errorslà một danh sách rỗng. - Với mỗi hàng trong
bikes_test, tính lỗi dự đoán bằng các mẫu dự đoán cho hàng này từposterior_predictivetrừ đi giá trị thực duy nhấtnum_bikestừ hàng đó. - Định hình lại
errorsbằng cách chuyển chúng thành một mảngnumpyvà áp dụng phương thức.reshape()lên kết quả, rồi gán kết quả cuối cùng choerror_distribution. - Vẽ phân phối lỗi kiểm thử bằng hàm
plot_posterior()củapymc3.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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()