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

Візуалізація мінімумів RSS

У цій вправі ви обчислите й візуалізуєте, як RSS змінюється для різних значень параметрів моделі. Спершу зафіксуйте вільний член, а нахил змінюйте: для кожного значення нахилу обчисліть значення моделі та відповідний RSS. Коли отримаєте масив значень RSS, визначте мінімальне значення RSS у коді і, відштовхуючись від цього мінімуму, знайдіть нахил, який дав цей найменший RSS.

Використайте попередньо завантажені масиви даних x_data, y_data та порожній контейнер rss_list, щоб почати.

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

Вступ до лінійного моделювання в Python

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

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

  • Для кожного пробного значення a1 у a1_array скористайтеся model(), щоб передбачити значення моделі, а тоді compute_rss() з y_data, y_model; збережіть вихід rss_value у rss_list.
  • Перетворіть rss_list на np.array(), потім застосуйте np.min(), щоб знайти мінімальне значення в rss_array.
  • Використайте np.where(), щоб знайти відповідне пробне значення і присвойте результат до best_a1.
  • Використайте plot_rss_vs_parameters(), щоб візуально підтвердити, що ваші значення збігаються з показаною фігурою.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Loop over all trial values in a1_array, computing rss for each
a1_array = np.linspace(15, 35, 101)
for a1_trial in a1_array:
    y_model = model(x_data, a0=150, a1=____)
    rss_value = compute_rss(y_data, ____)
    rss_list.append(____)

# Find the minimum RSS and the a1 value from whence it came
rss_array = np.array(____)
best_rss = np.min(____) 
best_a1 = a1_array[np.where(rss_array==____)]
print('The minimum RSS = {}, came from a1 = {}'.format(best_rss, best_a1))

# Plot your rss and a1 values to confirm answer
fig = plot_rss_vs_a1(a1_array, rss_array)
Редагувати та запускати код