其他分享
首页 > 其他分享> > 回归指标 - MSE均方误差、RMSE均方根误差、MAE平均绝对误差、R2判别系数

回归指标 - MSE均方误差、RMSE均方根误差、MAE平均绝对误差、R2判别系数

作者:互联网

1.MSE - 均方误差

\[MSE = \displaystyle\frac{1}{m}\sum_{i=1}^{m}(y_i - \hat{y_i})^2 \]

MSE是用 真实值 - 预测值 然后平方后求和平均,常用线性回归的损失函数

在线性回归时我们希望损失函数最小,从而判断测试集的损失值有多少。

# 数学公式计算
MSE = np.sum((y_pred-y_test)**2)/len(y_test)
# scikit-learn对应的指标
from sklearn.metrics import mean_squared_error
from sklearn.linear_model import LinearRegression
reg = LinearRegression().fit(X_train,y_train)
y_pred = reg.predict(X_test)
# 调用mean_squared_error
MSE = mean_squared_error(y_test,y_pred)

2.RMSE - 均方根误差

\[MSE = \sqrt{\displaystyle\frac{1}{m}\sum_{i=1}^{m}(y_i - \hat{y_i})^2} \]

RMSE在MSE基础上开根号,更好的描述真实值和预测值的数据

常用于衡量模型预测结果的标准

# 接着上面的例子MSE开根号计算得到RMSE
RMSE = MSE ** 0.5

3.MAE - 平均绝对误差

\[MAE = \displaystyle\frac{1}{m}\sum_{i=1}^{m}|(y_i - \hat{y_i})| \]

平均误差的绝对值

常用来反映预测值误差的实际情况(风险度)

# 数学公式计算	
MAE = np.sum(np.absolute(y_pred-y_test))/len(y_test)
# scikit-learn对应的指标 
from sklearn.metrics import mean_absolute_error
# 调用mean_absolute_error
MAE = mean_absolute_error(y_test, y_pred)

4.R2 - 判别系数

\[R^2 = 1 - \frac{SS_{residual}}{SS_{total}}=\frac{\sum_{i}(y_i - f_i)^2}{\sum_{i}(y_i - \bar{y})^2},其中\bar{y}是观数据的平均值:\bar{y} = \frac{1}{n}\sum_{i=1}^{n}y_i \]

其中f是拟合(或建模)值,y是真实值,SSR(Sum of squares of the regression)是残差平方和,由预测数据与标签均值之间差值的平方和构,SST(Total sum of squares)是实际值和均值之间的差值的平方和

判定系数R2测量了回归直线对预测数据拟合的程度,即:

1 - 模型没有捕获到的信息量占真实标签重所带的信息量的比例,所以,两者越接近1越好

调整R2考虑添加更多预测变量(特征)来改善模型

# 3种调用方式
# 方式1:从sklearn.metrics导入r2_score
from sklearn.metrics import r2_score
# 调用r2_score
r2 = r2_score(y_test, y_pred)
# 方式2:使用线性回归LinearRegression的score方法
reg = LinearRegression().fit(X_train,y_train)
# 调用score
r2 = reg.score(X_test,y_test)
# 方式3:从sklearn.metrics导入r2_score
from sklearn.metrics import explained_variance_score
r2 = explained_variance_score(y_test, y_pred)

5.在哪里使用哪个指标来确定机器学习模型的性能?

总体来说,MAE、MSE 和 RMSE 的值越低,意味着回归模型的准确度越高。然而,R 平方值越高被认可越高。

相关参考:

回归指标

https://www.jianshu.com/p/9ee85fdad150

https://www.cnblogs.com/nxf-rabbit75/p/10415812.html

https://medium.com/analytics-vidhya/mae-mse-rmse-coefficient-of-determination-adjusted-r-squared-which-metric-is-better-cd0326a5697e

https://www.studytonight.com/post/what-is-mean-squared-error-mean-absolute-error-root-mean-squared-error-and-r-squared

https://towardsdatascience.com/which-evaluation-metric-should-you-use-in-machine-learning-regression-problems-20cdaef258e

https://en.wikipedia.org/wiki/Coefficient_of_determination

标签:误差,绝对误差,RMSE,方根,score,error,test,MSE,mean
来源: https://www.cnblogs.com/Rosaany/p/15428282.html