5-6 最好的衡量线性回归法的指标 R Squared

分类问题使用accuracy来评价分类结果。 1最好,0最差。 即使分类的问题不同,也能很容易的比较它们之间的优劣。

但RMSE和MAE无些特性。 解决方法:R Squared

R Squared

R2=1SSresidualSStotal=1i(y^(i)y(i))2i(yˉy(i))2R^2 = 1 - \frac {SS_{residual}}{SS_{total}} = 1 - \frac{\sum_i(\hat y^{(i)}- y^{(i)})^2}{\sum_i(\bar y- y^{(i)})^2}

说明:

SSresidualSS_{residual}: 使用模型预测产生的错误 SStotalSS_{total}: 把所有样本都预测为yˉ\bar y产生的错误 yˉ\bar y:y的平均值 y^(i)\hat y^{(i)}:第i个样本的模型预测值

R Squared代表我们的模型拟合住的数据

R Squared的性质:

  • R Squared <= 1

  • R Squared越大越好。当我们的预测模型不犯任何错误时,R Squared达到最大值1

  • 当我们的模型等于基准模型时,R Squared = 0

  • 如果R Squared < 0,说明我们的模型还不如基准模型。此时很有可能数据不存在任何线性关系。

R Squared也可以写成这种形式: 其中Var(y)代表方差

编程实现R Squared

继续使用5-4中的数据和训练结果

1 - mean_squared_error(y_test, y_predict)/np.var(y_test)

from sklearn.metrics import r2_score
r2_score(y_test, y_predict)

Last updated