学习《7天晋级机器学习》-day1

举报
tengyun 发表于 2019/03/03 00:17:43 2019/03/03
【摘要】 机器学习的模型评估

一、 机器学习的模型评估

(一)、分类评估指标的计算

1、分类模型基本评估指标

分类模型评估指标可以定量的对模型的效果进行分析,对模型“准确率”进行准确的评估。

定义:假定一个二分类问题,标签是<0,1>两种。如果是一个多分类问题,则可以站在某一个类别标签的角度看待其它所有的

类别标签都可以归为“其它类”的范畴,将多分类转换为二分类。常见的评估指标有7个,如表所示:

spacer.gifday1-1.jpg

说明:假定站在标签0的角度。

P:标签为0的样本个数

N:标签为1的样本个数

TP:标签为0且模型判定为0的样本个数

TN:标签为1且模型判定为1的样本个数

FP:标签为1且模型判定为0的样本个数

FN:标签为0且模型判定为1的样本个数

准确率:模型预测准确的概率

错误率:模型预测准确的概率

召回率:是目标列召回的比率。与之相对的是真负列率。

精度:对目标列预测的准确率

对于一个二分类模型,我们希望召回率和精度越大越好,

但在实际使用中,召回率大时,精度往往会降低。精度大时,召回率往往会降低。

因此综合了一个Fβ分数来评估二分类模型。当β=1是,我们得到了常用的F1指标,就是当精度和召回率权重相等时,对它的一个综合评估指标。

在实际的应用情况中,F1的应用是比较普遍的。但当某些特例的情况下,我们更偏重精度和召回率的某一方,这是我们可以调节β的大小,

来改变我们评估方式。

其他统计书籍中 关于分类算法的检验指标和工具:

混淆矩阵:是一种可视化的分类精度分析工具, 主要用于比较分类结果和实际测得值之

间的差异,如果一个实例是正类并且也被 预测成正类,即为真正类(True positive), 如果实

例是负类被预测成正类,称之为假正类(False positive)。相应地,如果实例是负类被预测成

负类,称之为真负类(True negative) ,正类被预测成负类则为假负类(false negative)。

day1-2.jpg

准确(分类)率=正确预测的正反例数/总数

Accuracy=(TP+TN)/ALL

误分类率=错误预测的正反例数/总数

Error rate=(FP+FN)/ALL

正例的覆盖率=正确预测到的正例数/实际正例总数

Sensitivity(True Positive Rate, TPR)=TP/(TP+FN)

负例的覆盖率=正确预测到的负例数/实际负例总数

Specificity(True Negative Rate,TNR)=TN/(FP+TN)

2、分类基本评估指标的使用

分类模型评估指标的使用跟具体的业务场景相关,而且因为可以站在不同类别标签的角度去计算指标,这样就出产生(7ⅹ类别

个数)个基本评估指标,需要在具体的业务场景中进行分析。

业务场景举例1:银行判定贷款申请者有无风险。此业务场景下,银行既希望能够扩大贷款业务、又希望降低坏账风险,所以对

于“有风险”和“无风险”两种类别的判定评估都需要考虑,各项指标(错误率除外)都要尽可能的高。

业务场景举例2:某制造产线判定某生产设备有无故障。此业务场景下,首先要考虑的是故障的判定要准,所以以故障类别计算

的召回率要接近100%,在此前提下,specificity要尽可能的高,越高越好。

评估指标的使用原则:

1、确立标签重要性。要确定哪一个类别是要非常关注的类别。

2、重要类别的召回率、精度需要制定一个高的标准。比如必须达到xx%。

3、非重要类别的指标尽可能的高

3、分类模型其它评估指标

(1)混淆矩阵:当面临一个多分类问题,且每个类别的权重几乎等同时,利用混淆矩阵进行模型评估。

spacer.gifday1-3.jpg

注:矩阵对角线上的值越大越好,其它位置的值越小越好

用人话来说,我们预测对的数越多越好,预测错的数越少越好。

(2)ROC曲线:当一些分类器(比如基于神经网络)给出的判定值并不是类别标签,而是一些数值,那么就需要给这些数值一个

阈值去产生类别,阈值不同,则类别判定结果不同,这样就产生了基于阈值的recall和(1-specificity),每一对这样的两个值

看做平面上的一个点,多个阈值产生的点相连就产生了ROC曲线。 ROC曲线越凸,表明模型效果越好。

spacer.gifday1-4.jpg

图上每一个点,横坐标表示预测错的概率,纵坐标表示预测正确的概率。在0,1对角线左上方的点,实际意义就是预测对的概率大于预测错的概率,所以说,这个

曲线越凸效果越好。

(3) AUC值:AUC值为ROC曲线所覆盖的区域面积,AUC越大,分类器分类效果越好。

AUC = 1:是完美分类器,采用这个预测模型时,不管设定什么阈值都能得出完美预测。绝大多数预测的场合,不存在完美分类器。

0.5 < AUC < 1:优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。

AUC = 0.5:跟随机猜测一样(例:丢铜板),模型没有预测价值。

AUC < 0.5:比随机猜测还差;但只要总是反预测而行,就优于随机猜测。

(二)、回归评估指标的计算

1、回归评估指标的计算

典型回归方法有:

线性回归

KNN回归

分类回归树(基于平方误差)

……

常用的回归问题的评估指标有三个,分别是:

平均绝对误差( mean absolute error,MAE )

day1-5.jpg

均方根误差(root mean squared error,RMSE)

day1-6.jpg

均方误差(Mean Squared Error,MSE)

day1-7.jpg

day1-8.jpg


2、回归评估指标的使用原则

回归评估指标计算的都是真实值和预测值之间的误差:

1、使用误差的方式从总体上来判断模型的好坏,原则是误差越小越好,那么这个“小”的程度需要提前规定。比如

“平均绝对误差不能超过真实值平均值的10%”,这就是一个程度规定,程度规定要根据具体场景具体制定。

2、可以使用“接受度”的概念将依据误差的评估进行转换,比如设定一个接受度的值为80%,即当预测值与真实值

之间的比值处于0.8-1.2之间则视为为“可接受”,然后设定一个可接受的样本数,比如“测试集中必须有90%以上

的样本达到可接受状态”,这样就相当于用分类评估的思想去处理回归评估。

3、可以根据实际场景的不同设定各种规则,以满足模型验收需求为前提。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。