Bắt đầu ngayBắt đầu miễn phí

Trực quan hóa điểm cực tiểu của RSS

Trong bài tập này, bạn sẽ tính và trực quan hóa cách RSS thay đổi theo các giá trị tham số của mô hình. Bắt đầu bằng cách giữ nguyên hệ số chặn (intercept), nhưng thay đổi hệ số góc (slope): với mỗi giá trị slope, bạn sẽ tính giá trị mô hình và RSS tương ứng. Khi đã có một mảng các giá trị RSS, bạn sẽ xác định giá trị RSS nhỏ nhất bằng mã, và từ giá trị nhỏ nhất đó, suy ra slope tạo ra RSS tối thiểu.

Sử dụng sẵn các mảng dữ liệu x_data, y_data, và vùng chứa rỗng rss_list để bắt đầu.

Bài tập này là một phần của khóa học

Nhập môn Mô hình tuyến tính với Python

Xem khóa học

Hướng dẫn bài tập

  • Với mỗi giá trị thử a1 trong a1_array, dùng model() để dự đoán giá trị mô hình, rồi dùng compute_rss() với y_data, y_model, lưu đầu ra rss_value vào rss_list.
  • Chuyển rss_list thành np.array(), sau đó dùng np.min() để tìm giá trị nhỏ nhất trong rss_array.
  • Dùng np.where() để tìm giá trị thử tương ứng và gán kết quả cho best_a1.
  • Dùng plot_rss_vs_parameters() để xác nhận trực quan rằng các giá trị của bạn khớp với hình minh họa.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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)
Chỉnh sửa và Chạy Mã