开始使用免费开始使用

可视化 RSS 的极小值

本练习将计算并可视化在不同模型参数取值下 RSS 的变化。先固定截距,仅改变斜率;对每个斜率取值,计算模型预测值以及对应的 RSS。得到一组 RSS 值后,您将用代码找出最小的 RSS,并由该最小值反推出产生它的斜率。

使用预加载的数据数组 x_datay_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)
编辑并运行代码