視覺化 RSS 的極小值
在這個練習中,你會計算並視覺化當模型參數改變時 RSS 的變化。先把截距固定,改變斜率;對於每個斜率值,你會計算模型預測,接著計算對應的 RSS。當你得到一個 RSS 陣列後,你會在程式中找出最小的 RSS 值,並據此找出帶來該最小 RSS 的斜率。
使用預先載入的資料陣列 x_data、y_data,以及空的容器 rss_list 作為起點。

本練習屬於課程
Python 線性建模入門
練習說明
- 對於
a1_array中的每個試驗值a1,使用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)