机器学习算法中的评价指标(准确率、召回率、F值、ROC、AUC等)

摘要:
准确率确实是一个很好很直观的评价指标,但是有时候准确率高并不能代表一个算法就好。在正负样本不平衡的情况下,准确率这个评价指标有很大的缺陷。虽然ROC曲线相比较于Precision和Recall等衡量指标更加合理,但是其在高不平衡数据条件下的的表现仍然不能够很好的展示实际情况。

参考链接:https://www.cnblogs.com/Zhi-Z/p/8728168.html

具体更详细的可以查阅周志华的西瓜书第二章,写的非常详细~

一、机器学习性能评估指标

机器学习算法中的评价指标(准确率、召回率、F值、ROC、AUC等)第1张

这里写图片描述

1.准确率(Accurary)

机器学习算法中的评价指标(准确率、召回率、F值、ROC、AUC等)第3张

准确率是我们最常见的评价指标,而且很容易理解,就是被分对的样本数除以所有的样本数,通常来说,正确率越高,分类器越好。

准确率确实是一个很好很直观的评价指标,但是有时候准确率高并不能代表一个算法就好。比如某个地区某天地震的预测,假设我们有一堆的特征作为地震分类的属性,类别只有两个:0:不发生地震、1:发生地震。一个不加思考的分类器,对每一个测试用例都将类别划分为0,那那么它就可能达到99%的准确率,但真的地震来临时,这个分类器毫无察觉,这个分类带来的损失是巨大的。为什么99%的准确率的分类器却不是我们想要的,因为这里数据分布不均衡,类别1的数据太少,完全错分类别1依然可以达到很高的准确率却忽视了我们关注的东西。再举个例子说明下。在正负样本不平衡的情况下,准确率这个评价指标有很大的缺陷。比如在互联网广告里面,点击的数量是很少的,一般只有千分之几,如果用acc,即使全部预测成负类(不点击)acc也有 99% 以上,没有意义。因此,单纯靠准确率来评价一个算法模型是远远不够科学全面的。

2、错误率(Error rate)

机器学习算法中的评价指标(准确率、召回率、F值、ROC、AUC等)第4张

错误率则与准确率相反,描述被分类器错分的比例,对某一个实例来说,分对与分错是互斥事件,所以accuracy =1 - error rate。

3、查准率(Precision)

查准率(precision)定义为:
机器学习算法中的评价指标(准确率、召回率、F值、ROC、AUC等)第5张

表示被分为正例的示例中实际为正例的比例。

4、查全率(召回率)(recall)

机器学习算法中的评价指标(准确率、召回率、F值、ROC、AUC等)第6张

召回率是覆盖面的度量,度量有多个正例被分为正例,recall=TP/(TP+FN)=TP/P=sensitive,可以看到召回率与灵敏度是一样的。

5、综合评价指标(F-Measure)

P和R指标有时候会出现的矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure(又称为F-Score)。F-Measure是Precision和Recall加权调和平均:
机器学习算法中的评价指标(准确率、召回率、F值、ROC、AUC等)第7张

当参数α=1时,就是最常见的F1,也即
这里写图片描述
可知F1综合了P和R的结果,当F1较高时则能说明试验方法比较有效。

6、灵敏度(sensitive)

sensitive = TP/P,表示的是所有正例中被分对的比例,衡量了分类器对正例的识别能力。

7、特效度(sensitive)

specificity = TN/N,表示的是所有负例中被分对的比例,衡量了分类器对负例的识别能力。

8、其他评价指标

8.1 ROC曲线

ROC(Receiver Operating Characteristic)曲线是以假正率(FP_rate)和真正率(TP_rate)为轴的曲线,ROC曲线下面的面积我们叫做AUC,如下图所示

机器学习算法中的评价指标(准确率、召回率、F值、ROC、AUC等)第9张

机器学习算法中的评价指标(准确率、召回率、F值、ROC、AUC等)第10张机器学习算法中的评价指标(准确率、召回率、F值、ROC、AUC等)第11张

(1)曲线与FP_rate轴围成的面积(记作AUC)越大,说明性能越好,即图上L2曲线对应的性能优于曲线L1对应的性能。即:曲线越靠近A点(左上方)性能越好,曲线越靠近B点(右下方)曲线性能越差。
(2)A点是最完美的performance点,B处是性能最差点。
(3)位于C-D线上的点说明算法性能和random猜测是一样的,如C、D、E点;位于C-D之上(曲线位于白色的三角形内)说明算法性能优于随机猜测,如G点;位于C-D之下(曲线位于灰色的三角形内)说明算法性能差于随机猜测,如F点。
(4)虽然ROC曲线相比较于Precision和Recall等衡量指标更加合理,但是其在高不平衡数据条件下的的表现仍然不能够很好的展示实际情况

8.2、PR曲线:
即,PR(Precision-Recall),以查全率为横坐标,以查准率为纵坐标的曲线。
举个例子(例子来自Paper:Learning from eImbalanced Data):

机器学习算法中的评价指标(准确率、召回率、F值、ROC、AUC等)第12张

假设N>>P(即Negative的数量远远大于Positive的数量),就算有较多N的sample被预测为P,即FP较大为9,但是由于N很大,FP_rate的值仍然可以很小0.9%,TP_rate=90%(如果利用ROC曲线则会判断其性能很好,但是实际上其性能并不好),但是如果利用PR,P=50%,R=90%,因此在极度不平衡的数据下(Positive的样本较少),PR曲线可能比ROC曲线更实用

免责声明:文章转载自《机器学习算法中的评价指标(准确率、召回率、F值、ROC、AUC等)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ICBCB 2021 第九届生物信息学与计算生物学国际会议-2021年5月25-27日-中国太原android:ViewPager实现Tabs滑动切换效果下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

机器学习之线性回归---logistic回归---softmax回归

在本节中,我们介绍Softmax回归模型,该模型是logistic回归模型在多分类问题上的推广,在多分类问题中,类标签 可以取两个以上的值。 Softmax回归模型对于诸如MNIST手写数字分类等问题是很有用的,该问题的目的是辨识10个不同的单个数字。Softmax回归是有监督的,不过后面也会介绍它与深度学习/无监督学习方法的结合。(译者注: MNIST...

基于tensorflow的CNN卷积神经网络对Fasion-MNIST数据集的分类器(1)

写一个基于tensorflow的cnn,分类fasion-MNIST数据集 这个就是fasion-mnist数据集 这张图片是CNN的一般结构 先上代码,在分析: import tensorflow as tf import pandas as pd import numpy as np config = tf.ConfigProto() confi...

xgboost和gbdt区别

1. xgboost在目标函数中加入了正则化项,当正则化项为0时与传统的GDBT的目标函数相同2. xgboost在迭代优化的时候使用了目标函数的泰勒展开的二阶近似,paper中说能加快优化的过程!!xgboost可自定义目标函数,但是目标函数必须二阶可导也是因为这个。GDBT中只用了一阶导数。3. xgboost寻找最佳分割点时,考虑到传统贪心法效率比...

机器学习与R语言

此书网上有英文电子版:Machine Learning with R - Second Edition [eBook].pdf(附带源码) 评价本书:入门级的好书,介绍了多种机器学习方法,全部用R相关的包实现,案例十分详实,理论与实例结合。 目录 第一章 机器学习简介 第二章 数据的管理和理解 第三章 懒惰学习--使用近邻分类 第四章 概率学习--朴素贝...

目标检测算法的历史及分类

  随着人工智能的兴起,目标检测算法在各行业中起的作用越来越大,怎么落地,这是一个非常严峻的话题。今天看到一位大牛的分享,学习了。 把该领域的算法和历史做个梳理。方便后续研究。   按照时间分类,可以把该算法分成两类:传统算法和CCN算法。  传统算法: 级联分类器框架:Haar/LBP/积分HOG/ACF feature+Adaboost 级联分类器最...

word2vec改进之Hierarchical Softmax

首先Hierarchical Softmax是word2vec的一种改进方式,因为传统的word2vec需要巨大的计算量,所以该方法主要有两个改进点: 1. 对于从输入层到隐藏层的映射,没有采取神经网络的线性变换加激活函数的方法,而是采用简单的对所有输入词向量求和并取平均的方法。 比如输入的是三个4维词向量:(1,2,3,4),(9,6,11,8),(5,...