回归指标 - 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:在RMSE中,误差在平均之前先平方,这意味着RMSE为更大的错误分配更高的权重。这表明当存在大错误并且它们会极大地影响模型的性能时,RMSE更有用。RMSE比MSE更广泛用于评估回归模型于其他随机模型的性能,因为它的因变量(Y轴)具有相同的单位。

  • R2: R2评估性能最容易让人一目了然地了解你的模型的性能。

总体来说,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

上一篇:数字图像处理 离散余弦变换(DCT)和峰值信噪比(PSNR)


下一篇:成本直降50% | 阿里云发布云原生网关,开启下一代网关新进程