可视化 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)