机器学习性能评估指标

引言:

分类是数据挖掘三大核心技术( 关联规则、分类、聚类) 之一 ,其实质是产生一个目标函数 f , 该函数将输入数据集的属性集 x 映射到已经定义的类标签 y 上。该目标函数通常也被称为分类模型或分类器

机器学习分为三个阶段

  • 第一阶段:学习模型。采用学习算法,通过对训练集进行归纳学习得到分类模型;

  • 第二阶段:测试模型。将已经学习得到的分类模型用于测试集,对测试集中未知类别的实例进行分类。

  • 第三阶段:性能评估。显然,通过测试集产生的分类未必是最佳的,这就导致对测试集的分类可能产生错误。而人们希望尽量得到信呢个最佳的分类模型,就是的对分类器性能评价至关重要。只有通过优秀的评价标准才能选择出性能更好的分类器。

在机器学习、数据挖掘、推荐系统完成建模之后,需要对模型的效果做评价。业内目前常常采用的评价指标有精确率(Precision)、召回率(Recall)、F值(F-Measure)等,下图是不同机器学习算法的评价指标。下文讲对其中某些指标做简要介绍。

machine_learning_performance_evaluation

分类器评估准则

混淆矩阵

目前 ,分类器性能评价标准很多,其中比较常用的主要有准确度或错误率、查全率、查准率和F1等。为了清楚地认识这些评价标准, 首先介绍一下混淆矩阵。

定义

混淆矩阵(Confusion matrix)就是用于总结有指导分类结果的矩阵。沿着主对角线上的项表示正确分类的总数,其他非主对角线的项表示分类的错误数。

二分类的混淆矩阵

classifier_evaluation1

  • True Positive(真正, TP):将正类预测为正类数.
  • True Negative(真负 , TN):将负类预测为负类数.
  • False Positive(假正, FP):将负类预测为正类数 → 误报 (Type I error).
  • False Negative(假负 , FN):将正类预测为负类数 → 漏报 (Type II error).

注:实际正例数(p)=TP+FN;实际负例数(N)=FP+TN;实例总数(C)=P+N。一个混合矩阵已经能够显示出评价分类器性能的一些必要信息。为了更方便地比较不同分类器的性能,从混合矩阵中总结出准确率、精确率、召回率、F-值(F-measure)等。

多类分类的混淆矩阵

定义:对于一个m分的标准分类问题来说,也可以定义如表1所示m×mm分混淆矩阵和每一个类属的Recall、Precision、F-measure和Accuracy值。

classifier_evaluation2

其相应的整个分类器的准确率表达式如下:

accuracy

准确率(accuracy)

  • 定义:正确分类的测试实例个数占测试实例总数的比例,用于衡量模型正确的预测新的或先前未见过的数据的类标号的能力。

  • 计算公式Accuracy = (TP+TN)/(TP+TN+FP+FN)

正负样本不平衡的情况下,准确率这个评价指标有很大的缺陷。比如在互联网广告里面,点击的数量是很少的,一般只有千分之几,如果用Accuracy,即使全部预测成负类(不点击)Accuracy也有 99% 以上,没有意义。

所谓不平衡分类问题 ,是指训练样本数量在类间分布不平衡的模式分类问题。关于不平衡问题的具体问题可参考:叶志飞, 文益民, 吕宝粮. 不平衡分类问题研究综述[J]. 智能系统学报, 2009, 4(2):148-156.。对于不平衡数据的评估标准:不平衡数据下的机器学习方法简介

影响分类器准确率的因素有:训练数据集记录的数目、属性的数目、属性中的信息、测试数据集记录的分布情况等。

误分率

  • 定义:错误分类的测试实例个数占测试实例总数的比例,表示分类器做出错误分类的概率有多大。

  • 计算公式Error_rate=1-Accuracy = (FN+FP)/(TP+TN+FP+FN)

精确率(precision)

  • 定义:正确分类的正例个数占分类为正例的实例个数的比例,也称查准率

  • 计算公式TP/(TP+FP)

召回率(recall)

  • 定义:正确分类的正例个数占实际正例个数的比例 也称查全率

  • 计算公式TP/(TP+FN)

F-值(F-Measure)

  • 定义:F-Measure是查全率与查准率加权调和平均,又称为F-Score

  • 计算公式:(1)F1 = 2PR/(P+R)=2TP/(2TP+FP+FN)
    (2)F- = (α^2+1)PR/(α^2)P + R)

此处α>0用于衡量查全率对查准率的相对重要性[Van Rijsbergen,1979]。α=1时退化为标准的F1(基于P、R的调和平均);α>1时,查全率有更大的影响;α<1时查准率有更大影响。

其中α=2和α=0.5是相对F1两个常用的F-measure:(1)当α=2,则表示recall的影响要大于precision;(2)当α=0.5,则表示precision的影响要大于recall.

精确率和准确率都高的情况下,F1值也会高。P和R指标有时候会出现的矛盾的情况,这样就需要综合考虑他们。F1值在实际应用中较常用。相比于P、R的算术平均和几何平均(G-mean),F1值更重视较小值(不平衡数据下的稀有类),这也说明F1对于衡量数据更有利。

G-mean

  • 定义:G-mean是正例准确率与负例准确率的综合指标。

    可参考文献:Kubat M, Holte R C, Matwin S. Machine Learning for the Detection of Oil Spills in Satellite Radar Images[J]. Machine Learning, 1998, 30(2-3):195-215.

  • 计算公式

    G-mean

  • 与F1的比较:在数据平衡度不是很大的情况下,F1和G-mean可以作为较好的评测指标,但是当训练样本很不平衡时,F1更好。

G-mean评估一个学习算法的综合性能。 根据之前的研究, 为了能够获得尽可能多的关于每个类别对最终性能的贡献大小信息,并且考虑到数据的不平衡率, 很多研究者试图在不平衡领域提出新的度量指标。 如调整G-mean,提出了 Adjusted G-mean

上述的评价标准对于类分布的改变较敏感。

约登指数(Informedness )

登指数=灵敏度(召回率)+特异度-1
(TP/(TP+FN))+(TN/(FP+TN))-1 = R + (TN/(FP+TN)) - 1

MCC 马修斯相关系数

MCC(Matthews correlation coefficient):是应用在机器学习中,用以测量二分类的分类性能的指标[83]。该指标考虑了真阳性、真阴性和假阳性和假阴性,通常认为该指标是一个比较均衡的指标,即使是在两类别的样本含量差别很大时,也可以应用它。MCC本质上是一个描述实际分类与预测分类之间的相关系数,它的取值范围为[-1,1],取值为1时表示对受试对象的完美预测,取值为0时表示预测的结果还不如随机预测的结果,-1是指预测分类和实际分类完全不一致。

MCC

衡量不平衡数据集的指标比较好。

宏平均(macro-average)和微平均(micro-average)

宏平均和微平均一般用在文本分类器, 如果只有一个二分类混淆矩阵,那么用以上的指标就可以进行评价,但是当我们在n个二分类混淆矩阵上要综合考察评价指标的时候就会用到宏平均和微平均。

  • 宏平均(Macro-averaging): 是先对每一个类统计指标值,然后在对所有类求算术平均值。宏平均指标相对微平均指标而言受小类别的影响更大。

  • 微平均(Micro-averaging):是对数据集中的每一个实例的性能指标的算术平均

    宏平均和微平均

宏平均指标相对微平均指标而言受小类别的影响更大。宏平均比微平均更合理,但也不是说微平均一无是处,具体使用哪种评测机制,还是要取决于数据集中样本分布,来自:多类分类(Multi-label classification)性能评价之宏平均(macro-average)与微平均(micro-average)。

ROC曲线(Receiver Operating Characteristic)

比如在逻辑回归里面,我们会设一个阈值,大于这个值的为正类,小于这个值为负类。如果我们减小这个阀值,那么更多的样本会被识别为正类。这会提高正类的识别率,但同时也会使得更多的负类被错误识别为正类。为了形象化这一变化,在此引入 ROC ,ROC 曲线可以用于评价一个分类器好坏。ROC 关注两个指标:

ROC

  • 直观上,TPR 代表能将正例分对的概率,FPR 代表将负例错分为正例的概率。在 ROC 空间中,每个点的横坐标是 FPR,纵坐标是 TPR,这也就描绘了分类器在 TP(真正率)和 FP(假正率)间的 trade-off2。

  • ROC曲线是一个二维图形,横轴为FPR,纵轴为TPR,直观的展示FPR与TPR之间的对应关系。

    • (FPR=0,TPR=0)意味着将每一个实例都预测为负例
    • (FPR=1,TPR=1)意味着将每一个实例都预测为正例
    • (FPR=0,TPR=1)为最优分类器点
  • 实际上,通过有限实例产生的ROC曲线实际上是一个阶梯函数,该曲线近似于实例数量接近无限时对应的ROC曲线。

  • 一个优秀分类器对应的ROC曲线应该尽量靠近单位方形的左上角。而如果一条ROC曲线沿着将负分类器点和正分类器点连接构成的对角线,则该分类器的预测效果与随机猜测的同样差。

ROC曲线有个很好的特性:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反),而且测试数据中的正负样本的分布也可能随着时间变化。

AUC(Area Under Curve)

  • 提出背景:用ROC curve来表示分类器的performance很直观好用。可是,人们总是希望能有一个数值来标志分类器的好坏。

  • 定义:AUC为ROC曲线下的面积,显然这个面积的数值不会大于1。随机挑选一个正样本以及一个负样本,分类器判定正样本的值高于负样本的概率就是AUC值。简单说:AUC值越大的分类器,正确率越高

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

  • 0.5<AUC<1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。
  • AUC=0.5,跟随机猜测一样(例:丢铜板),模型没有预测价值。
  • AUC<0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测,因此不存在 AUC<0.5 的情况。

    既然已经这么多评价标准,为什么还要使用ROC和AUC呢?因为ROC曲线有个很好的特性:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反)。

ROC曲线和AUC的优势:不受类分布的影响,适合与评估、比较类分布不平衡的数据集。因此ROC曲线与AUC已被广泛用于医疗决策制定、模式识别和数据挖掘等领域。但是ROC和AUC仅适合于两类问题 ,对多类问题 ,无法直接应用

PR曲线(Precision-Recall)曲线

查准率和查全率是一对矛盾的度量,一般来说,查准率高时,查全率往往偏低,而查全率高时,查准率往往偏低。很多情形下,可以根据学习器的预测结果对样例进行排序,排在前面的学习器认为“最可能”是正例的样本,排在最后的则是学习器认为“最不可能”是正例的样本。按此顺序逐个把样本的作为正例进行预测,则每次可以计算当前的查全率、查准率。以查准率为纵轴、查全率作为横轴作图。就会得到如下图的查准率-查全率曲线,简称“P-R曲线”,显示该曲线的图称为“P-R图”。

P-R图直观地显示出学习器在样本总体上的查全率、查准率。在进行比较时,如图中A包住C,说明A的查全率、查准率均高于C,A优于C,而对于A、B存在交叉的情况,采用曲线下面积大小衡量性能,面积越大,性能越好,此处A优于B。

另外一种比较A、B学习器的方法是:平衡点(Break-Event Point,简称BEP),它是当查全率等于查准率时的取值,有图可知,此时A的BEP大于B,故A优于B。

P-R_figure

举个例子(例子来自Paper:Learning from eImbalanced Data):
假设N_c>>P_c(即Negative的数量远远大于Positive的数量),若FP很大,即有很多N的sample被预测为P,因为这里写图片描述,因此FP_rate的值仍然很小(如果利用ROC曲线则会判断其性能很好,但是实际上其性能并不好),但是如果利用PR,因为Precision综合考虑了TP和FP的值,因此在极度不平衡的数据下(Positive的样本较少),PR曲线可能比ROC曲线更实用

其他评估指标

  • 计算复杂度:决定着算法执行的速度和占用的资源,它依赖于具体的实现细节和软硬件环境。由于数据挖掘的操作对象是海量的数据库,因而空间和时间的复杂度将是非常重要的问题。

  • 速度:这涉及产生和使用模型的时间花费。

  • 可解释性:分类结果只有可解释性好,容易理解,才能更好地用于决策支持。

  • 可伸缩性:一个模型的可伸缩性,使之在给定内存和磁盘空间等可用的系统资源的前提下,算法的运行时间应当随数据库大小线性增加。

  • 稳定性:一个模型是稳定的,是指它没有随着它所针对数据的变换而过于剧烈变化。

  • 成本:这涉及预测错误代价所产生的计算花费。

  使用这些评价标准可以对分类器进行评估,尤其是其中的准确率或误分率,是比较常用的分类器性能评价标准。

  但是,所有浙西诶性能评价标准都只在一个操作点有效,这个操作点即是选择使得错误率概率最小的点。而且,这些评价标准都有一个共同的弱点,即它们对于类分布的改变显然不够强壮。当测试集中正例和负例的比例发生改变时,它们可能不在具有良好的性能,甚至不被接受。

回归评估

  • 平均绝对误差(Mean Absolute Error,MAE)又被称为 l1 范数损失(l1-norm loss)

    mae

  • 平均平方误差(Mean Squared Error,MSE)又被称为 l2 范数损失(l2-norm loss)

    mse

参考资料:

  1. 周志华《机器学习》第2章:模型评估与选择
  2. 机器学习:准确率(Precision)、召回率(Recall)、F值(F-Measure)、ROC曲线、PR曲线
  3. 机器学习性能评估指标
  4. 第三章4-分类器性能评价-20140925
  5. 分类器的分类性能评价指标
  6. 机器学习-浅谈模型评估的方法和指标 (介绍比较全)
  7. ROC和AUC介绍以及如何计算AUC

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/242496.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

经常收到银行白金信用卡邀请短信,真能办下来吗?

尊敬的XX先生&#xff0c;您是我行的优质客户&#xff0c;特意邀请您申请我行的白金信用卡&#xff0c;额度在10万以上&#xff0c;【XX银行】大家都没有经常接到过类似的短信&#xff1f;之前我也是经常接到类似的短信&#xff0c;但是我都置之不理&#xff0c;因为信用卡够用…

使用Qt创建一个C语言工程

使用Qt创建一个C语言工程 第一步&#xff1a;点击new按钮&#xff1b;或者在左边&#xff0c;点击右键选择新建项目&#xff1b;或者点击文件&#xff0c;选择新建项目 方式一 方式二 方式三 第二步&#xff1a;在弹出的对话框中选择Non-Qt Project和Plain C Application.选…

按揭买的房,房产证为什么要放在银行,自己要用房产证怎么办?

按揭买房的流程大概是签订购房合同&#xff0c;付定金&#xff0c;然后在规定期限内付首付&#xff0c;同时申请按揭贷款&#xff0c;按揭贷款批下来以后&#xff0c;过户&#xff0c;过户完成&#xff0c;然后房产证交给银行办抵押&#xff0c;办完抵押以后&#xff0c;银行会…

等额本金、等额本息,两者到底怎么区分?

等额本金和等额本息是房贷最常见的两种还款方式&#xff0c;但两者却有很多差别&#xff0c;而且很多人对如何区分等额本息和等额本金云里雾里&#xff0c;傻傻分不清。 其实要区分等额本金和等额本息也很简单。首先我们来说下等额本金。所谓等额本金就是把房贷金额平分到每个月…

存储相关关键字

存储相关关键字 register、static、const、auto、extem register是寄存器的意思&#xff0c;用register修饰的变量是寄存器变量。即&#xff1a;在编译的时候告诉编译器这个变量是寄存器变量&#xff0c;尽量将其存储空间分配在寄存器中。 2. static是静态的意思 static可以修…

外网如何访问 Service?- 每天5分钟玩转 Docker 容器技术(139)

除了 Cluster 内部可以访问 Service&#xff0c;很多情况我们也希望应用的 Service 能够暴露给 Cluster 外部。Kubernetes 提供了多种类型的 Service&#xff0c;默认是 ClusterIP。 ClusterIP Service 通过 Cluster 内部的 IP 对外提供服务&#xff0c;只有 Cluster 内的节点…

为什么很多大老板银行贷款几千万,看起来还那么潇洒?

在中国&#xff0c;大部分富豪其实也是“负豪”。大家平时看到的富豪活得很潇洒&#xff0c;住着豪宅&#xff0c;开着豪车&#xff0c;带着小蜜&#xff0c;但我敢肯定80%以上的富豪&#xff0c;车是贷款的&#xff0c;房也是贷款的&#xff0c;说不定小蜜也是贷款包的。那为什…

为什么在国外刷信用卡只用签名,而国内却需要输入密码?

所谓信用卡&#xff0c;核心是信用&#xff0c;而不是卡&#xff0c;卡只不过是一个载体而已。信用卡最早流行语于欧美地区&#xff0c;最初并不具备支付功能&#xff0c;只是作为发卡机构发给持卡人的一种凭证和和身份证明&#xff0c;就像我们的身份证一样。而且信用卡刚诞生…

Rolling Update - 每天5分钟玩转 Docker 容器技术(140)

滚动更新是一次只更新一小部分副本&#xff0c;成功后&#xff0c;再更新更多的副本&#xff0c;最终完成所有副本的更新。滚动更新的最大的好处是零停机&#xff0c;整个更新过程始终有副本在运行&#xff0c;从而保证了业务的连续性。 下面我们部署三副本应用&#xff0c;初始…

电机控制及PID算法

电机控制及PID算法 电机控制是指&#xff0c;对电机的启动、加速、运转、减速及停止进行的控制。根据不同电机的类型及电机的使用场合有不同的要求及目的。对于电动机&#xff0c;通过电机控制&#xff0c;达到电机快速启动、快速响应、高效率、高转矩输出及高过载能力的目的。…

房贷利率一涨再涨,为什么排队买房的越来越多?

说排队买房的人越来越多&#xff0c;实际上是一种错觉&#xff0c;目前利率上涨是真的&#xff0c;普遍上涨10%-20%&#xff0c;排队等房贷的人很多&#xff0c;这也是真的&#xff0c;但是排队买房只是个别现象。有时间大家可以去地产中介看看&#xff0c;现在很多房产中介都很…

主流深度学习框架

主流深度学习框架深度学习研究的热潮持续高涨&#xff0c;各种开源深度学习框架也层出不穷&#xff0c;其中包括TensorFlow、Caffe、Keras、CNTK、Torch7、MXNet、Leaf、Theano、DeepLearning4、Lasagne、Neon&#xff0c;等等 TensorFlow比如设计神经网络结构的代码的简洁度&a…

4月1日起支付宝、微信扫码支付单日限额500元,够用吗?

500块钱对于绝大部人来说肯定够用了。央行政策12月27日&#xff0c;央行印发《条码支付业务规范&#xff08;试行&#xff09;》&#xff0c;该政策将于2018年4月1日起实施&#xff0c;该规范采用了分级管理&#xff0c;不同的风险等级支付的限额不一样。&#xff08;一&#x…

为什么越来越多的人都拒绝办信用卡?

近段有个网友在论坛发帖说现在有越来越多的人拒绝申请信用卡&#xff0c;但事实果真如此吗&#xff1f;我们先来看一下2017年信用卡发行量2016年&#xff0c;整个一年信用卡发行量是4.7亿张&#xff0c;但是进入2017年之后&#xff0c;信用卡发行量出现了猛涨&#xff0c;截至2…

控制理论之数学基础

控制理论之数学基础 特征值与特征向量 线性化 线性化是在某一点的线性化。 线性时不变系统的冲激响应与卷积 卷积的拉普拉斯变换 欧拉公式证明 例子 复数 传递函数 寻找阈值

买房时,公积金账户里的钱可以作为首付款吗?

公积金账户里面的钱能不能提取出来做首付款要看具体情况。1、公积金余额比较多&#xff0c;超过了公积金贷款比例上限可以提取出来。你去办理公积金贷款的时候&#xff0c;公积金管理中心是需要你提供首付凭证的&#xff0c;然后根据你的公积金余额来核实&#xff0c;你最高能贷…

人工智能、机器学习、深度学习和神经网络的区别

人工智能背景&#xff1a;人工智能最初可以追溯至1956年&#xff0c;当时多名计算机科学家在达特茅斯会议上共同提出了人工智能的概念。在随后几十年中&#xff0c;人工智能一方面被认为是人类文明未来的发展方向&#xff0c;另一方面也被认为是难以企及的梦想。实际上&#xf…

神经网络知识整理

简介人工神经网络&#xff08;Artificial Neural Network&#xff0c;即ANN &#xff09;&#xff0c;是20世纪80 年代以来人工智能领域兴起的研究热点。ANN是由大量的简单处理单元经广泛并行互连形成的一种网络系统。它是对人脑系统的简化、抽象和模拟&#xff0c;具有大脑功能…

非线性控制理论

非线性控制理论 随着科学技术的发展&#xff0c;人们对实际生产过程的分析要求日益精密&#xff0c;各种较为精确的分析和科学实验的结果表明&#xff0c;任何一个实际的物理系统都是非线性的。所谓线性只是对非线性的一种简化或近似&#xff0c;或者说是非线性的一种特例。 …

回滚 - 每天5分钟玩转 Docker 容器技术(141)

kubectl apply 每次更新应用时 Kubernetes 都会记录下当前的配置&#xff0c;保存为一个 revision&#xff08;版次&#xff09;&#xff0c;这样就可以回滚到某个特定 revision。 默认配置下&#xff0c;Kubernetes 只会保留最近的几个 revision&#xff0c;可以在 Deployment…