机器学习 | 回归评估指标
1.回归评估指标
1.1平均绝对误差 MAE
MAE
:Mean Absolute Error)平均绝对误差,从图形上看,MAE 就相当于将数据点与拟合之间之间的距离绝对值之和。
MAE 缺点
:绝对值函数是不可微分的,这不利于使用诸如梯度下降方法,因此我们将使用更常见的 MSE 均方误差。
1.1.1Sklearn 计算 MAE
from sklearn.metrics import mean_absolute_error
from sklearn.linear_model import LinearRegression
# 已定义X,y
classifier = LinerRegression()
classifier.fit(X, y)
guesses = classifier.predict(X)
error = mean_absolute_error(y, guesses)
1.2均方误差 MSE
MSE
:(Mean Squared Error)均方误差,从图形上看,为数据点到拟合直线之间的距离的平方。
MSE 和 MAE 有局限性
:同一个算法模型,解决不同的问题,不能体现此模型针对不同问题所表现的优劣。因为不同实际应用中,数据的量纲不同,无法直接比较预测值,因此无法判断模型更适合预测哪个问题,因此我们将使用衡量线性回归最好的指标: R2.
1.2.1Sklearn 计算 MSE
from sklearn.metrics import mean_squared_error
from sklearn.linear_model import LinearRegression
# 已定义X,y
classifier = LinearRegression()
classifier.fit(X,y)
guesses = classifier.predict(X)
error = mean_squared_error(y,guesses)
1.3判定系数 R2
为了拟合一组数据,最简单的方法就是取这组数据的均值并作直线,已知这个简单模型的 MSE 大于线性回归的 MSE ,然而大多少呢?因此类似于假设检验的检验统计量,我们将线性回顾的 MSE 除以简单模型的 MSE,用1减去这个分数,就得到了R2.
- 如果这个回归模型不太好,则两个 MSE 将很接近,则 R 2 R^2 R2将趋于0;
- 如果这个回归模型很好,则回归模型的 MSE 应比简单模型的 MSE 小得多,因此 R 2 R^2 R2将趋于1.
- 若 R 2 ≤ 0 R^2\leq0 R2≤0,则说明这个回归模型还不如简单模型(很可能数据不存在线性关系)。
- 因此,
R
2
R^2
R2越接近于1,则说明回归模型越好;
R
2
R^2
R2越接近于0,则说明回归模型越不好。
1.3.1 Sklearn 计算 R^2
from sklearn.metrics import r2_score
y_true = [1, 2, 4]
y_pred = [1.3, 2.5, 3.7]
r2_score(y_true, y_pred)
0.9078571428571429
参考资料
[1][Volcano!.机器学习:衡量线性回归法的指标(MSE、RMSE、MAE、R Squared)[EB/OL].]https://www.cnblogs.com/volcao/p/9104183.html,, 2018-05-29.
[2]: https://blog.csdn.net/weixin_45488228/article/details/98897061?utm_source=app#121_Sklearn__MSE_39