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

R-Squared

Trước đó, bạn đã thấy một thước đo độ phù hợp khác, R-squared, được biểu diễn dưới dạng tỷ số giữa RSS và VAR. Khi nhân cả tử và mẫu của tỷ số với 1/n, dạng tương đương số học có thể được hiểu là tỷ số giữa phương sai của phần dư chia cho phương sai của xu hướng tuyến tính trong dữ liệu mà ta đang mô hình hóa. Điều này có thể được diễn giải như một thước đo cho biết bao nhiêu phần biến thiên trong dữ liệu của bạn được “giải thích” bởi mô hình, so với độ phân tán hay phương sai của phần dư (sau khi bạn đã loại bỏ xu hướng tuyến tính).

Ở đây chúng tôi đã nạp sẵn dữ liệu x_data, y_data và dự báo mô hình y_model cho mô hình khớp tốt nhất; mục tiêu của bạn là tính chỉ số R-squared để định lượng mức độ mà mô hình tuyến tính này giải thích được biến thiên trong dữ liệ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

  • Tính residuals bằng cách lấy y_model trừ y_data, và deviations bằng cách lấy np.mean() của y_data trừ y_data.
  • Tính phương sai của residuals và phương sai của deviations, sử dụng np.mean()np.square() cho từng cái.
  • Tính r_squared bằng 1 trừ tỷ số var_residuals / var_deviations, rồi in kết quả.

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.

# Compute the residuals and the deviations
residuals = ____ - y_data
deviations = np.____(____) - y_data

# Compute the variance of the residuals and deviations
var_residuals = np.____(np.____(____))
var_deviations = np.____(np.____(____))

# Compute r_squared as 1 - the ratio of RSS/Variance
r_squared = 1 - (____ / ____)
print('R-squared is {:0.2f}'.format(____))
Chỉnh sửa và Chạy Mã