(转)回归评价指标分析:SSE,MSE,RMSE,MAE,R-square

SSE(和方差、误差平方和):The sum of squares due to error
MSE(均方差、方差):Mean squared error
RMSE(均方根、标准差):Root mean squared error
R-square(确定系数):Coefficient of determination
Adjusted R-square:Degree-of-freedom adjusted coefficient of determination


下面我对以上几个名词进行详细的解释下,相信能给大家带来一定的帮助!!


一、SSE(和方差)

该统计参数计算的是拟合数据和原始数据对应点的误差的平方和,计算公式如下

SSE越接近于0,说明模型选择和拟合更好,数据预测也越成功。接下来的MSE和RMSE因为和SSE是同出一宗,所以效果一样


二、MSE(均方差)
该统计参数是预测数据和原始数据对应点误差的平方和的均值,也就是SSE/n,和SSE没有太大的区别,计算公式如下

y_preditc=reg.predict(x_test) #reg是训练好的模型
mse_test=np.sum((y_preditc-y_test)**2)/len(y_test) #跟数学公式一样的

三、RMSE(均方根)
该统计参数,也叫回归系统的拟合标准差,是MSE的平方根,就算公式如下

在这之前,我们所有的误差参数都是基于预测值(y_hat)和原始值(y)之间的误差(即点对点)。从下面开始是所有的误差都是相对原始数据平均值(y_ba)而展开的(即点对全)!!!
 

rmse_test=mse_test ** 0.5

四、MAE 平均绝对误差
image.png 
简单!

mae_test=np.sum(np.absolute(y_preditc-y_test))/len(y_test)

五、R-square(确定系数)
在讲确定系数之前,我们需要介绍另外两个参数SSR和SST,因为确定系数就是由它们两个决定的
(1)SSR:Sum of squares of the regression,即预测数据与原始数据均值之差的平方和,公式如下

(2)SST:Total sum of squares,即原始数据和均值之差的平方和,公式如下

细心的网友会发现,SST=SSE+SSR,呵呵只是一个有趣的问题。而我们的“确定系数”是定义为SSR和SST的比值,故

其实“确定系数”是通过数据的变化来表征一个拟合的好坏。由上面的表达式可以知道“确定系数”的正常取值范围为[0 1],越接近1,表明方程的变量对y的解释能力越强,这个模型对数据拟合的也较好

慢慢解释。其实这个很简单。 
上面分子就是我们训练出的模型预测的所有误差。 
下面分母就是不管什么我们猜的结果就是y的平均数。(瞎猜的误差)

那结果就来了。 
如果结果是0,就说明我们的模型跟瞎猜差不多。 
如果结果是1。就说明我们模型无错误。 
如果结果是0-1之间的数,就是我们模型的好坏程度。 
如果结果是负数。说明我们的模型还不如瞎猜。(其实导致这种情况说明我们的数据其实没有啥线性关系)

化简上面的公式 
分子分母同时除以m 
 image.png
那么分子就变成了我们的均方误差MSE,下面分母就变成了方差。 

image.png
代码部分

具体模型代码就不给了。只说这个几种衡量标准的原始代码。
 

R_square=1- mean_squared_error(y_test,y_preditc)/ np.var(y_test)

scikit-learn中的R-square衡量指标


from sklearn.metrics import r2_score#R square
r2_score(y_test,y_predict)

猜你喜欢

转载自blog.csdn.net/fsfsfsdfsdfdr/article/details/85088455