精度、召回率、准确率、F1、ROC、AUC的理解
1. 错误率、精度
精度(accuracy) 分类正确的样本数占总样本数的比例
错误率(error rate) 分类错误的样本数占总样本数的比例
通常来说精度(accuracy)不是一个好的性能指标,尤其是处理数据有偏差时候比如一类非常多,一类很少
比如手写数字识别问题,只判断一副图片是不是5,由于5的图片只占百分之10左右,所以分类器总是预测图片不是5都会有90%左右的可能性是对的
2. 混淆矩阵、准确率、召回率、F1
为了更好的度量性能所以引入准确率、召回率等概念。
混淆矩阵 每一行代表实际的类,每一列代表预测的类
预测为正 | 预测为反 | |
---|---|---|
实际为正 | true positive | false negative |
实际为反 | false positive | true negative |
其格式为 [预测正确性,预测结果]
准确率(precision):及正例预测的精度 precision=TPTP+FPprecision = \frac{TP}{TP + FP}precision=TP+FPTP, 查的准确的程度
召回率(recall):也叫做敏感度,或者真正例率,这是正例被分类器正确探测出的比率 recall=TPTP+FNrecall = \frac{TP}{TP + FN}recall=TP+FNTP 查全的程度
例如 precision = 0.7 那么说明分类器预测为正例的结果中,只有70%是真正的正例,是正确的,即对于一个预测为正例的结果,只有70%的可能性是正确的
recall = 0.7 时候说明分类器只能查出70%的正例
F1F_1F1socre是召回率和准确率的结合,使两者的调和平均,所谓调和平均就是会给小的值更大的权重,而不是同等地位看待,所以若要F1值高,那么需要两者都高.
F1=21recall+1precision=2∗precision∗recallrecall+precision=TPTP+FN+FP2F1 = \frac{2}{\frac{1}{recall} + \frac{1}{precision}} = 2* \frac{precision*recall}{recall + precision} = \frac{TP}{TP + \frac{FN+FP}{2}}F1=recall1+precision12=2∗recall+precisionprecision∗recall=TP+2FN+FPTP
3. 准确率和召回率的折中
召回率和准确率不可兼得,增加准确率会降低召回率,增加召回率会降低准确率,因为保证准确率,那么将会对预测结果严格筛选,这将导致部分正例被筛选淘汰,导致召回率降低。保证召回率,那么就会降低筛选的门槛,尽可能多的将正例筛选出来,那么就会有一些反例被筛选进去,导致准确率下降。
如图所示,随着阈值的提高,精确度不断上升,召回率不断下降,阈值下降,那么精准度不断下降,召回率不断上升。
注意:阈值的提升不见得准确率一定会提升,会出现抖动的情况,只取决于淘汰正例以及反例的数量多少关系
也可以通过直接画出召回率对准确率的曲线来进行观察,在其急剧下降之前根据需求选择合适点
4. ROC 曲线
ROC 曲线是从阈值选取角度出发来研究学习器泛化性能的工具,可以通过ROC曲线来比较不同分类器的性能。ROC 曲线是召回率(TPR)对假正例率(FPR)的曲线(FPR 是反例被错误分成正例的比率),其横轴为FPR,纵轴为TPR。
其中 FPR = 1 - TNR ,TNR 为 真反例率反例被正确分类的比率,也叫作特异性。
其中召回率越高,那么假正例就越高。
ROC曲线绘制
现实中由于样例数量的限制,ROC曲线并非光滑的。
绘制过程:给定m+m^+m+正例和m−m^-m−个反例,然后将模型预测的结果进行排序(从大到小)。首先降分类的阈值设置为最大,这样所有的样例都被预测为为反例,所以真正例率和假正例率都是0,即对应标记点(0,0)点。然后调整阈值,将阈值设置为每个样例的预测结果值,从而依次划分每个样例。设前一个标记点为(x,y),若当前样例为真正例,那么新的标记点为(x,y+1m+)(x,y+\frac{1}{m^+})(x,y+m+1),若为假正例,那么新的标记点为(x+1m+,y)(x+\frac{1}{m^+},y)(x+m+1,y),然后依次操作下去直至遍历所有的样例,得到如下图。
=
AUC
对于两条ROC曲线若没有相交,那么左上角的曲线对应的学习器性能更好,但是若存在相交那么就难以判断,所以引入ROC的面积来作为评判依据。
ROC曲线下面的面积数值叫做AUC,利用数值可以直观的评价分类器好坏。好的分类器AUC值大,纯粹随机的分类器ROC为 0.5。
AUC 计算方法
假设ROC曲线对应的坐标分别为{(x1,y1),(x2,y2)(x3,y3),...,(xn,yn)}\{(x_1,y_1),(x_2,y_2)(x_3,y_3),...,(x_n,y_n)\}{(x1,y1),(x2,y2)(x3,y3),...,(xn,yn)},那么AUC估算公式如下:
AUC=12∑i=1m−1(xi+1−xi)∗(yi+1+yi)AUC =\frac{1}{2} \sum_{i=1}^{m-1}{(x_{i+1} -x_{i})*(y_{i+1} + y_{i})} AUC=21i=1∑m−1(xi+1−xi)∗(yi+1+yi)
AUC 意义
AUC代表着预测为正例排在负例前面的概率。AUC就是从所有正样本中随机选择一个样本,从所有负样本中随机选择一个样本,然后利用学习器进行预测,正样本被预测为正的概率为P1P_1P1,负样本被预测为正的概率为P2P_2P2,P1>P2P_1 > P_2P1>P2的概率被称为AUC
ROC和准确率/召回率曲线相似,当正例很少的时候采用准确率召回率曲线,其它情况使用ROC
5. 参考
- ROC曲线和AUC面积理解
https://blog.csdn.net/program_developer/article/details/79946787 - hands on machine learning with sk-learn and tf
精度、召回率、准确率、F1、ROC、AUC的理解相关推荐
- 准确率,召回率,F值,ROC,AUC
准确率,召回率,F值,ROC,AUC 责任编辑:词汇网 发表时间:2016-4-23 20:08:08 度量表 1.准确率 (presion)p=TPTP+FP 理解为你预测对的正例数占你预测正例总量 ...
- [机器学习] 二分类模型评估指标---精确率Precision、召回率Recall、ROC|AUC
一 为什么要评估模型? 一句话,想找到最有效的模型.模型的应用是循环迭代的过程,只有通过持续调整和调优才能适应在线数据和业务目标. 选定模型时一开始都是假设数据的分布是一定的,然而数据的分布会随着时间 ...
- 机器学习性能指标精确率、召回率、F1值、ROC、PRC与AUC
精确率.召回率.F1.AUC和ROC曲线都是评价模型好坏的指标,那么它们之间有什么不同,又有什么联系呢.下面让我们分别来看一下这几个指标分别是什么意思. 针对一个二分类问题,将实例分成正类(posti ...
- 分类指标:准确率、精确率、召回率、F1 score以及ROC、AUC、宏平均、加权平均
本文将介绍: 混淆矩阵(Confusion Matrix) 准确率(accuracy) 召回率(recall) 精确率(precision) F1score ROC和AUC 宏平均(macro avg ...
- 准确率、精确率、召回率、F1值、ROC/AUC整理笔记
文章目录 前言 一.TP.TN.FP.FN概念 二.准确率.精确率(精准率).召回率.F1值 1.准确率(Accuracy) 2.精确率(Precision)查准率 3.召回率(Recall)查全率 ...
- 信息检索(IR)的评价指标介绍-准确率、召回率、F1、mAP、ROC、AUC
在信息检索.分类体系中,有一系列的指标,搞清楚这些指标对于评价检索和分类性能非常重要,因此最近根据网友的博客做了一个汇总. 准确率.召回率.F1 信息检索.分类.识别.翻译等领域两个最基本指标是召回率 ...
- 准确率、召回率、F1、mAP、ROC、AUC
https://yongyuan-workbench.rhcloud.com/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2ir%E7%9A%84%E8%AF%84%E4%B ...
- 一文详尽混淆矩阵、准确率、精确率、召回率、F1值、P-R 曲线、ROC 曲线、AUC 值、Micro-F1 和 Macro-F1
文章目录 二分类的评价指标 一.混淆矩阵与 TP.TN.FP.FN 二.准确率.精确率.召回率.F1值 三.P-R 曲线 四.ROC 曲线.AUC 值 五.P-R曲线和ROC曲线有什么区别,如何选择? ...
- 机器学习分类问题指标评估内容详解(准确率、精准率、召回率、F1、ROC、AUC等)
文章目录 前言 一.混淆矩阵(confusion matrix) 二.准确率,精准率,召回率,F1分数 1. 准确率(Accuracy) 2. 精确率(Precision) 3. 召回率(Recall ...
- auc计算公式_图解机器学习的准确率、精准率、召回率、F1、ROC曲线、AUC曲线
机器学习模型需要有量化的评估指标来评估哪些模型的效果更好. 本文将用通俗易懂的方式讲解分类问题的混淆矩阵和各种评估指标的计算公式.将要给大家介绍的评估指标有:准确率.精准率.召回率.F1.ROC曲线. ...
最新文章
- 3行代码写出8个接口,开挂了?
- 2019.03.13 ZJOI2019模拟赛 解题报告
- (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致...
- haproxy代理hive
- bzoj1051[kosaraju算法]求强连通分量
- python中打开文件open_Python中打开文件的方式(With open)
- 使用Fiddler对android应用抓包 专题
- centos6.5搭建git服务器 win10 安装git客户端连接 和遇到的问题+解决方式
- java组件_三个必不可少的Java平台组件:什么是JVM,JDK,JRE?有啥区别?
- vue教程1-03 v-for循环
- lnmp团队开发环境docker环境搭建PHP7.2 mac系统为例
- eeprom和编程器固件 k2_斐讯K2编程器刷breed换固件小白教程
- Eclipse - 更换新的工作空间后,怎么把上一个工作空间的配置复制过来
- java判断数字大小写_java判断字符串是否全部由数字,大小写字母,特殊符号组成...
- Another app is currently holding the yum lock解决方法
- 无人驾驶技术——无损卡尔曼滤波(UKF)
- 双软企业的税收优惠政策怎么样?
- 如何买到便宜的云服务器?
- Android手机连接蓝牙播放时,蓝牙设备如何显示歌名、专辑、歌手等信息?
- Android 6.0系统新特性及功能说明
热门文章
- 【OSChina-MoPaaS应用开发大赛】幼家宝
- 笔记本电脑如何选购并安装内存条
- linux下通过wifi连接网络
- java.lang.IllegalStateException: Web app root system property already set to different value: 'webap
- ArcGIS如何利用矢量shp挂接图片
- vs2017或vs2019或vs2022安装中Microsoft.VisualStudio.MinShell.Msi出错的问题
- PS替换图片中的颜色-局部以及整体变色
- 计算机义务维修活动方案,最新义务维修活动策划书
- CentOS的自动化安装光盘制作 (详细流程)
- Qt编写可视化大屏电子看板系统8-调整间距