通过这篇文章,我们需要掌握常用的回归评估方法,了解不同评估方法的特点。
一、线性回归模型评估 -- MAE、MSE、RMSE三种指标
1.为什么要进行线性回归模型的评估
我们希望衡量预测值和真实值之间的差距,会用到MAE、MSE、RMSE多种测评函数进行评价。
2.平均绝对误差 Mean Absolute Error MAE

n 为样本数量, y 为实际值, yy ̂为预测值
MAE 越小模型预测约准确
from sklearn.metrics import mean_absolute_error
mean_absolute_error(y_test,y_predict)
3.均方误差****Mean Squared Error MSE

n 为样本数量, y 为实际值, yy ̂为预测值
MSE 越小模型预测约准确
from sklearn.metrics import mean_squared_error
mean_squared_error(y_test,y_predict)
4.均方根误差****Root Mean Squared Error

n 为样本数量, y 为实际值, y ̂为预测值
RMSE 越小模型预测约准确
RMSE 是 MSE 的平方根,某些情况下比MSE更有用
二、线性回归模型评估 -- MAE、MSE、RMSE三种指标对比
1.举个栗子:我们绘制了一条直线 y = 2x +5 用来拟合 y = 2x + 5 + e. 这些数据点,其中e为噪声(随机值)
MAE 和 RMSE 非常接近,都表明模型的误差很低。MAE 或 RMSE 越小,误差越小!
RMSE的计算公式中有一个平方项,因此大的误差将被平方,因此会增加 RMSE 的值,大多数情况下RMSE>MAE ,比如两个误差大小为1, 3求MAE和RMSE:
RMSE 会放大预测误差较大的样本对结果的影响,而 MAE 只是给出了平均误差
结论: RMSE > MAE都能反应真实误差,但是RMSE会对异常点更加敏感
2.再举个栗子:橙色线 y = 2x +5。蓝色的点 y = y + sin(x)*exp(x/20) + e 其中 exp() 表示指数函数
对比第一张图,所有指标都变大了,RMSE 几乎是 MAE 值的两倍,因为它对预测误差较大的点比较敏感
MAE和RMSE同样是真实反应误差,能不能说RMSE是更好的指标?我们只按照RMSE指标来优化模型,让模型的误差降的更低?
一直按照RMSE指标来训练模型,如果RMSE指标训练的非常低,说明什么?
说明模型对异常点(对噪声)也拟合的非常好。这样模型就容易过拟合了。所以评价指标要综合的看。
三、总结
1一般使用MAE和RMSE这两个指标
MAE反应的是"真实"的平均误差,RMSE会将误差大的数据点放大
MAE 不能体现出误差大的数据点,RMSE放大大误差的数据点对指标的影响, 但是对异常数据比较敏感。
2****综合结论
都能反映出预测值和真实值之间的误差
MAE对误差大小不敏感
RMSE会放大预测误差较大的样本的影响
RMSE对异常数据敏感