開始使用免費開始

估計測試誤差

現在你已經有 posterior_predictive(在你的工作環境中可用),可以開始在新資料上評估模型效能。為此,你需要對測試資料逐筆迭代,並針對每一筆資料,將該觀測值的預測分佈與實際真值相減,得到預測誤差。如此一來,你就能得到模型誤差的分佈,接著即可視覺化。

你會用到 pymc3 與 numpy,已分別以 pm 與 np 匯入。測試資料 bikes_test 也已在你的工作環境中準備好。開始動手做吧!

本練習屬於課程

Bayesian Data Analysis in Python

檢視課程

練習說明

  • 將 errors 初始化為空清單。
  • 對 bikes_test 的每一列,計算此列的預測誤差:使用 posterior_predictive 取得該列的預測抽樣結果,減去此列中單一真實值 num_bikes。
  • 將 errors 轉為 numpy 陣列並套用 .reshape() 方法調整形狀,並把最終結果指定給 error_distribution。
  • 使用 pymc3 的 plot_posterior() 函式繪製測試誤差分佈。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# 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()
編輯並執行程式碼