回归模型的评估指标

栏目: 数据库 · 发布时间: 5年前

内容简介:在建立回归模型时需要对模型的效果进行评测,选择哪一种指标作为评估指标也会影响最终模型的效果。这里选择Scikit Learn自带的回归模型评估指标进行详细讲解。假设y是真实值,f 是相对应的预测值,Var是方差,Explained Variance由下式公式给出:

在建立回归模型时需要对模型的效果进行评测,选择哪一种指标作为评估指标也会影响最终模型的效果。这里选择Scikit Learn自带的回归模型评估指标进行详细讲解。

  • explained_variance_score(y_true, y_pred) Explained variance regression score function
  • mean_absolute_error(y_true, y_pred) Mean absolute error regression loss
  • mean_squared_error(y_true, y_pred[, …]) Mean squared error regression loss
  • mean_squared_log_error(y_true, y_pred) Mean squared logarithmic error regression loss
  • median_absolute_error(y_true, y_pred) Median absolute error regression loss
  • r2_score(y_true, y_pred[, …]) R^2 (coefficient of determination) regression score function.

可解释方差Explained Variance Score

假设y是真实值,f 是相对应的预测值,Var是方差,Explained Variance由下式公式给出:

  回归模型的评估指标

值最大为1,越接近1越好

什么是可解释方差?

在理解“可解释方差”前,需要先了解下方差:离平均的平方距离的平均。方差很难理解,其中的一个原因是很难可视化。可解释方差并不意味着解释了方差,仅仅意味着我们可以使用一个或多个变量来比以前更准确地预测事物。

在许多模型中,如果X与Y相关,X可以说是”解释”了Y中的方差,即使X并不真正导致Y。在下面的例子中,Y的方差的80%是由于X,剩下的20%由其他的一些Error导致的。由于X与Error非相关的z-score值,路径系数等于与Y的相关系数。

回归模型的评估指标

可解释方差的可视化

如果X预测Y,那么解释的方差等于相关系数的平方。不幸的是,这只是一个公式。它无助于我们理解它的含义。也许这种可视化会有所帮助:

回归模型的评估指标

平均绝对误差 Mean Absolute Error(MAE)

MAE用来描述预测值和真实值的差值。数值越小越好。假设是真实值,是相对应的预测值,则n个样本的MAE可由下式出给:

  回归模型的评估指标

MAE优缺点:虽然平均绝对误差能够获得一个评价值,但是你并不知道这个值代表模型拟合是优还是劣,只有通过对比才能达到效果。

均方误差 Mean Squared Error(MSE)

Mean Squared Error也称为Mean Squared Deviation(MSD),计算的是预测值和实际值的平方误差。同样,数值越小越好。

假设是真实值,是相对应的预测值,则n 个样本的MSE由下式公式给出:

  回归模型的评估指标

由于MSE与我们的目标变量的量纲不一致,为了保证量纲一致性,我们需要对MSE进行开方,即均方根误差(RMSE):

均方根误差 Root Mean Squared Error(RMSE)

均方根误差RMSE(root-mean-square error), 均方根误差亦称标准误差,它是观测值与真值偏差的平方与观测次数比值的平方根。均方根误差是用来衡量观测值同真值之间的偏差。标准误差对一组测量中的特大或特小误差反映非常敏感,所以,标准误差能够很好地反映出测量的精密度。可用标准误差作为评定这一测量过程精度的标准。计算公式如下:

  回归模型的评估指标

这不就是MSE开个根号么。有意义么?其实实质是一样的。只不过用于数据更好的描述。例如:要做房价预测,每平方是万元(真贵),我们预测结果也是万元。那么差值的平方单位应该是 千万级别的。那我们不太好描述自己做的模型效果。怎么说呢?我们的模型误差是多少千万?于是干脆就开个根号就好了。我们误差的结果就跟我们数据是一个级别的可,在描述模型的时候就说,我们模型的误差是多少万元。

RMSE与MAE对比:RMSE相当于L2范数,MAE相当于L1范数。次数越高,计算结果就越与较大的值有关,而忽略较小的值,所以这就是为什么RMSE针对异常值更敏感的原因(即有一个预测值与真实值相差很大,那么RMSE就会很大)。

均值平方对数误差 Mean Squared Log Error(MSLE)

如果是第i个样本的预测值,是相应的真实值,则在上估计的均方对数误差(MSLE)被定义为:

  回归模型的评估指标

其中 回归模型的评估指标 表示x的自然对数。 当目标具有指数增长的目标时,最适合使用这一指标,例如人口数量,商品在一段时间内的平均销售额等。

注意,该度量对低于真实值的预测更加敏感。

中位数绝对误差 Median Absolute Error(MedianAE)

中位数绝对误差非常有趣,因为它可以减弱异常值的影响。 通过取目标和预测之间的所有绝对差值的中值来计算损失。如果是第i个样本的预测值,是相应的真实值,则在上估计的中值绝对误差(MedAE)被定义为:

  回归模型的评估指标

R-平方 回归模型的评估指标 Score

回归模型的评估指标 Score又称为the coefficient of determination。判断的是预测模型和真实数据的拟合程度,最佳值为1,同时可为负值。

假设是真实值,是相对应的预测值,则n 个样本的 回归模型的评估指标 score由下式公式给出:

  回归模型的评估指标

其中是y 的均值,即 回归模型的评估指标

如果结果是0,就说明我们的模型跟瞎猜差不多。如果结果是1。就说明我们模型无错误。如果结果是0-1之间的数,就是我们模型的好坏程度。如果结果是负数。说明我们的模型还不如瞎猜。

参考链接: https://scikit-learn.org/stable/modules/classes.html#sklearn-metrics-metrics


以上所述就是小编给大家介绍的《回归模型的评估指标》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Java 8函数式编程

Java 8函数式编程

[英] Richard Warburton / 王群锋 / 人民邮电出版社 / 2015-3 / 39.00元

通过每一章的练习快速掌握Java 8中的Lambda表达式 分析流、高级集合和其他Java 8类库的改进 利用多核CPU提高数据并发的性能 将现有代码库和库代码Lambda化 学习Lambda表达式单元测试和调试的实践解决方案 用Lambda表达式实现面向对象编程的SOLID原则 编写能有效执行消息传送和非阻塞I/O的并发应用一起来看看 《Java 8函数式编程》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

html转js在线工具
html转js在线工具

html转js在线工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具