def multiple_r_squared(xs: List[Vector], ys: Vector, beta: Vector) -> float: """ Given the dataset and a vector beta of parameters, return the R-squared value for how well the `beta` """ explained_y_variance = total_sum_of_squares(ys) predicted_y_variance = total_sum_of_squares([predict(x, beta) for x in xs]) return predicted_y_variance / explained_y_variance
def multiple_r_squared(x, y, beta): #残差平方和 sum_of_squared_errors = sum( error(x_i, y_i, beta)**2 for x_i, y_i in zip(x, y)) #1-(残差平方和/实际结果均差和) return 1.0 - sum_of_squared_errors / total_sum_of_squares(y)
def test_total_sum_of_squares(self): self.assertEqual( 16 + 4 + 36, simple_linear_regression.total_sum_of_squares([2, 4, 12]))
def multiple_r_squared(x, y, beta): sum_squared_errors = sum( squared_error(x_i, y_i, beta) for x_i, y_i in zip(x, y)) return 1.0 - sum_squared_errors / total_sum_of_squares(y)
def multiple_r_squared(x, y, beta): sum_of_squared_errors = sum(error(x_i, y_i, beta) ** 2 for x_i, y_i in zip(x, y)) return 1.0 - sum_of_squared_errors / total_sum_of_squares(y)
def test_total_sum_of_squares(self): self.assertEqual(16+4+36, simple_linear_regression.total_sum_of_squares([2, 4, 12]))