其中:
- SSR (Sum of Squared Residuals):残差平方和
- SST (Total Sum of Squares):总平方和
-
输入为两个numpy数组,分别表示真实值和预测值。
返回一个浮点数,表示R平方值,结果保留3位小数。
[1, 2, 3, 4, 5] [1.1, 2.2, 2.9, 3.8, 5.0]
0.990
1.对应的输入、输出已给出,您只用实现核心功能函数即可。2.支持numpy、scipy、pandas、scikit-learn库。
import numpy as np def r_squared(y_true, y_pred): ssr = sum((y_pred - y_true)**2) mean_value = np.mean(y_true) sst = 0 for y in y_true: sst += (y-mean_value)**2 res = 1 - ssr/sst return round(res,3) if __name__ == "__main__": y_true = np.array(eval(input())) y_pred = np.array(eval(input())) print(f"{r_squared(y_true, y_pred):.3f}")