最近做一个算法,直接算法中就计算了一个叫做RMSE的值,开始出来我以为是准确率,类似于,clf.score,后来想想好像不对,所以就看来一些文章来研究了一下这些的含义。
预测值和真值相差的平方和是SSE,也就是误差平方和,这肯定是越小越好了,相当于一个误差累计。当然这个SSE越接近于0越好。
但是,如果说10000的样本的情况,建立一个A模型,这个模型的SSE是100,100个样本的情况下,建立一个B模型,这个模型的SSE是80。但是不能说B模型比A模型好。所以就引入了MSE。
MSE就是均方误差,SSE除以样本量,平均的预测的值和真值差的平方,平均到每一个预测的Y
MSE的值在量纲上是平方,为了是这个量纲一致,所以对MSE开方就是RMSE,也就是均方根。
解释R2之前要解释一些SST和SSR
SSR表示的是预测值和原始值得均值差得平方和
SST表示得是原始数据和均值的差的平方和
所以R2,也就是R-square,可以经过公式推导得出SST=SSE+SSR
其实我们将R2写开
还可以这样表示。R2的范围在0-1之间,越接近1,表示越好,一般衡量线性回归最好的指标应该就是R2,通常表示模型你好的好坏。对R2开根号,就是R,也就是相关系数,也是越近1越好。
上面计算真值和预测值之间的误差都是做差求平方和,如果将平方和换成取绝对值,也就是MAE,RMAE,也就是不是square,变为absolute.