机器学习 | 回归评估指标

机器学习 | 回归评估指标

  • 1.回归评估指标
    • 1.1平均绝对误差 MAE
      • 1.1.1Sklearn 计算 MAE
    • 1.2均方误差 MSE
      • 1.2.1Sklearn 计算 MSE
    • 1.3判定系数 R^2^
      • 1.3.1 Sklearn 计算 R^2
  • 参考资料

1.回归评估指标

1.1平均绝对误差 MAE

MAE:Mean Absolute Error)平均绝对误差,从图形上看,MAE 就相当于将数据点与拟合之间之间的距离绝对值之和。
MAE
机器学习 | 回归评估指标_第1张图片
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
机器学习 | 回归评估指标_第2张图片

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.
机器学习 | 回归评估指标_第3张图片

  1. 如果这个回归模型不太好,则两个 MSE 将很接近,则 R 2 R^2 R2将趋于0;
  2. 如果这个回归模型很好,则回归模型的 MSE 应比简单模型的 MSE 小得多,因此 R 2 R^2 R2将趋于1.
  3. R 2 ≤ 0 R^2\leq0 R20,则说明这个回归模型还不如简单模型(很可能数据不存在线性关系)。
  4. 因此, R 2 R^2 R2越接近于1,则说明回归模型越好; R 2 R^2 R2越接近于0,则说明回归模型越不好。
    机器学习 | 回归评估指标_第4张图片

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

你可能感兴趣的:(机器学习)