ПочатиПочніть безкоштовно

Оцінювання помилки на тесті

Тепер, коли у вас є posterior_predictive (він доступний у вашому робочому середовищі), ви можете оцінити роботу моделі на нових даних. Для цього потрібно пройтися циклом по тестових спостереженнях і для кожного з них обчислити помилку прогнозу як різницю між прогностичним розподілом для цього спостереження та фактичним, істинним значенням. Це дасть вам розподіл помилки вашої моделі, який потім можна візуалізувати.

Вам знадобляться pymc3 і numpy, які вже імпортовано як pm і np відповідно. Тестові дані bikes_test також доступні у вашому середовищі. Почнімо!

Ця вправа є частиною курсу

Баєсівський аналіз даних у Python

Переглянути курс

Інструкції до вправи

  • Ініціалізуйте errors як порожній список.
  • Для кожного рядка в bikes_test обчисліть помилку прогнозу як прогностичні вибірки для цього рядка з posterior_predictive мінус єдине істинне значення num_bikes з рядка.
  • Змініть форму errors, перетворивши їх на масив numpy і застосувавши метод .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()
Редагувати та запускати код