数据挖掘:模型评估指标

数据挖掘:模型评估

一般在比赛中,我们会看到对于回归(分类)问题,不同的比赛会有不同的评价指标。我们在训练模型时,不能只记住回归问题用均方误差,而不去在意比赛目标的评价指标,这样我们往往会得到比较差的结果,南辕北辙。

一、为什么会有这么多衡量的指标

因为具体场景不同,比赛会有不同的偏向。比如,同一个问题,M1和M2分类的准确率不一样,这时,就需要看具体的要求,如果侧重M1多一些,那么在优化时,就应该对M1进行侧重优化。
在这里插入图片描述

常见的一些评价指标。
在这里插入图片描述
这里贴出网上写的比较好的模型评估的文章,由于本人的知识量有限,无法做出较好的总结,因此先参考别人的。等以后对这块更加熟悉后,再做补充。
机器学习模型的评价指标和方法
机器学习模型评价(Evaluating Machine Learning Models)-主要概念与陷阱
机器学习模型相关评价指标最全总结
模型评估常用指标
另外,本篇文章也是来自菜菜机器学习

二、回归问题评估指标

回归类与分类型算法的模型评估其实是相似的法则——找真实标签和预测值的差异。回归类算法中,我们有两种不同的角度来看待回归的效果:
第一,我们是否预测到了正确的数值
第二,我们是否拟合到了足够的信息。
这两种角度,分别对应着不同的模型评估指标。

否预测到了正确的数值:MSE和MAE

RSS残差平方和,是预测值与真实值之间的差异,也就是从第一种角度来评估我们回归的效力,所以RSS既是我们的损失函数,也是我们回归类模型的模型评估指标之一。但是,RSS有着致命的缺点:它是一个无界的和,可以无限地大,(样本越多,残查平方和越大)。
为了应对这种状况,sklearn中使用RSS的变体,均方误差MSE(mean squared error)来衡量我们的预测值和真实值的差异(这样就消除了由于样本因素而对模型评估的影响。),得到有了平均误差。就可以将其和标签的取值范围在一起比较,以此获得一个较为可靠的评估依据。(得到每一个样本上的平均误差,跟均值比较看相差有多少)在sklearn当中,我们有两种方式调用这个评估指标,

  1. 是使用sklearn专用的模型评估模块metrics里的类mean_squared_error,
  2. 是调用交叉验证的类cross_val_score并使用里面的scoring参数来设置使用均方误差。
    在这里插入图片描述

1. 均方误差为负
cross_val_score(reg,X,y,cv=10,scoring=“neg_mean_squared_error”)
因为均方误差本身是一种误差,损失。所以被sklearn划分为模型的一种损失(loss)。在sklearn当中,所有的损失都使用负数表示,因此均方误差也被显示为负数了。真正的均方误差MSE的数值,其实就是neg_mean_squared_error去掉负号的数字。
metrics里可以调出正的均方误差。

MAE:Mean absolute error,绝对均值误差
在这里插入图片描述
其表达的概念与均方误差完全一致,不过在真实标签和预测值之间的差异外我们使用的是L1范式(绝对值)。现实使用中,MSE和MAE选一个来使用就好了。(MAE比MSE对异常值更加不敏感,有较好的鲁棒性
在sklearn当中,我们使用命令from sklearn.metrics import mean_absolute_error来调用MAE。
也可以使用交叉验证中的scoring = “neg_mean_absolute_error”,以此在交叉验证时调用MAE。

是否拟合了足够的信息
对于回归类算法而言,只探索数据预测是否准确是不足够的。除了数据本身的数值大小之外,我们还希望我们的模型能够捕捉到数据的”规律“,比如数据的分布规律,单调性等等,而是否捕获了这些信息并无法使用MSE来衡量。

  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值