准确率,精准率,召回率

分类问题中的混淆矩阵如下

TP: 预测为1,预测正确,即实际1

FP: 预测为1,预测错误,即实际0

FN: 预测为0,预测错确,即实际1

TN: 预测为0,预测正确即,实际0

准确率 accuracy

准确率的定义是预测正确的结果占总样本的百分比,其公式如下:
准确率=(TP+TN)/(TP+TN+FP+FN)
虽然准确率可以判断总的正确率,但是在样本不平衡 的情况下,并不能作为很好的指标来衡量结果。举个简单的例子,比如在一个总样本中,正样本占90%,负样本占10%,样本是严重不平衡的。对于这种情况,我们只需要将全部样本预测为正样本即可得到90%的高准确率,但实际上我们并没有很用心的分类,只是随便无脑一分而已。这就说明了:由于样本不平衡的问题,导致了得到的高准确率结果含有很大的水分。即如果样本不平衡,准确率就会失效。

精准率 Precision

精准率(Precision)又叫查准率,它是针对预测结果 而言的,它的含义是在所有被预测为正的样本中实际为正的样本的概率,意思就是在预测为正样本的结果中,我们有多少把握可以预测正确,其公式如下:
精准率=TP/(TP+FP)
精准率代表对正样本结果中的预测准确程度,而准确率则代表整体的预测准确程度,既包括正样本,也包括负样本。

召回率 Recall

召回率(Recall)又叫查全率,它是针对原样本而言的,它的含义是在实际为正的样本中被预测为正样本的概率,其公式如下:
精准率=TP/(TP+FN)
召回率的应用场景: 比如拿网贷违约率为例,相对好用户,我们更关心坏用户,不能错放过任何一个坏用户。因为如果我们过多的将坏用户当成好用户,这样后续可能发生的违约金额会远超过好用户偿还的借贷利息金额,造成严重偿失。召回率越高,代表实际坏用户被预测出来的概率越高,它的含义类似:宁可错杀一千,绝不放过一个

F1值

我们希望精准率和召回率同时都非常高。 但实际上这两个指标是一对矛盾体,无法做到双高。如果其中一个非常高,另一个肯定会非常低。选取合适的阈值点要根据实际需求,比如我们想要高的查全率,那么我们就会牺牲一些查准率,在保证查全率最高的情况下,查准率也不那么低。
在实际情况中,不会有分类器仅仅以精确度(Precision)或者召回率(Recall)作为单一的度量标准,而是使用这两者的调和平均,于是就有了F值(F-Score),F1分数同时考虑了查准率和查全率,让二者同时达到最高,取一个平衡。
F1分数的公式为 = 2精准率 * 召回率 / (精准率 + 召回率)。

ROC曲线 AUC值

ROC曲线

首先我们需要定义下面两个变量:FPR、TPR(即为我们常说的召回recall)。
FPR表示,在所有的恶性肿瘤中,被预测成良性的比例。称为伪阳性率。伪阳性率告诉我们,随机拿一个恶性的肿瘤样本,有多大概率会将其预测成良性肿瘤。显然我们会希望FPR越小越好。

TPR表示,在所有良性肿瘤中,被预测为良性的比例。称为真阳性率。真阳性率告诉我们,随机拿一个良性的肿瘤样本时,有多大的概率会将其预测为良性肿瘤。显然我们会希望TPR越大越好。

如果以FPR为横坐标,TPR为纵坐标,就可以得到下面的坐标系:

点(0,1),即FPR=0,TPR=1。FPR=0说明FP=0,也就是说,没有假正例。TPR=1说明,FN=0,也就是说没有假反例。这不就是最完美的情况吗?所有的预测都正确了。良性的肿瘤都预测为良性,恶性肿瘤都预测为恶性,分类百分之百正确。这也体现了FPR 与TPR的意义。就像前面说的我们本来就希望FPR越小越好,TPR越大越好。
点(1,0),即FPR=1,TPR=0。这个点与上面那个点形成对比,刚好相反。所以这是最糟糕的情况。所有的预测都预测错了。
点(0,0),即FPR=0,TPR=0。也就是FP=0,TP=0。所以这个点的意义是所有的样本都预测为恶性肿瘤。也就是说,无论给什么样本给我,我都无脑预测成恶性肿瘤就是了。
点(1,1),即FPR=1,TPR=1。显然,这个点跟点(0,0)是相反的,这个点的意义是将所有的样本都预测为良性肿瘤。
好啦,现在我们知道了在这个坐标系上的某个点所代表的意义了。那么问题就来了,当一个分类器已经训练好了之后,那它的FPR,TPR应该是一个固定的值呀。那对应到上面的ROC坐标系上应该就是一个点了啊,那ROC曲线又是个什么意思呢?曲线下的面积又是个什么意思呢?
我们知道,在二分类(0,1)的模型中,一般我们最后的输出是一个概率值,表示结果是1的概率。那么我们最后怎么决定输入的x是属于0或1呢?我们需要一个阈值,超过这个阈值则归类为1,低于这个阈值就归类为0。所以,不同的阈值会导致分类的结果不同,也就是混淆矩阵不一样了,FPR和TPR也就不一样了。所以当阈值从0开始慢慢移动到1的过程,就会形成很多对(FPR, TPR)的值,将它们画在坐标系上,就是所谓的ROC曲线了

AUC值

AUC值了:得到了ROC曲线,我们就可以计算曲线下方的面积,计算出来的面积就是。
结论:AUC表示,随机抽取一个正样本和一个负样本,分类器正确给出正样本的score高于负样本的概率

AUC值的计算

方法一

在有M个正样本,N个负样本的数据集里。一共有MN对样本(一对样本即,一个正样本与一个负样本)。统计这MN对样本里,正样本的预测概率大于负样本的预测概率的个数。
这样说可能有点抽象,我举一个例子便能够明白。

假设有4条样本。2个正样本,2个负样本,那么M*N=4。即总共有4个样本对。分别是:
(D,B),(D,A),(C,B),(C,A)。
在(D,B)样本对中,正样本D预测的概率大于负样本B预测的概率(也就是D的得分比B高),记为1
同理,对于(C,B)。正样本C预测的概率小于负样本C预测的概率,记为0.
最后可以算得,总共有3个符合正样本得分高于负样本得分,故最后的AUC为

方法二

利用以下公式




一文读懂准确率、精准率、召回率、ROC、AUC、F1值相关推荐

  1. EXCEL函数篇之一文读懂VLOOKUP精准查找、近似查找、模糊查找的区别

    大家好!本期和大家分享一下如何用VLOOKUP进行精准查找.近似查找.模糊查找. EXCEL版本:Microsoft 365商业应用版 先上语法: VLOOKUP(查找值,数据表,列序数,[匹配条件( ...

  2. 易基因|一文读懂精准简化基因组甲基化测序(RRBS+oxRRBS)分析怎么做

    大家好,这是专注表观组学十余年,领跑多组学科研服务的易基因. 本期,我们讲讲精准简化基因组甲基化测序(RRBS+oxRRBS)怎么做,从技术原理.建库测序流程.信息分析流程等方面详细介绍. 一.精准简 ...

  3. 算法评价指标:准确率+精准率+召回率

    评价指标: (1)(True Postive TP): 若一个实例是正类,但是被预测成为正类,即为真正类 (2)(True Negative TN): 若一个实例是负类,但是被预测成为负类,即为真负类 ...

  4. 你真的懂数据分析吗?一文读懂数据分析的流程、基本方法和实践

    导读:无论你的工作内容是什么,掌握一定的数据分析能力,都可以帮你更好的认识世界,更好的提升工作效率.数据分析除了包含传统意义上的统计分析之外,也包含寻找有效特征.进行机器学习建模的过程,以及探索数据价 ...

  5. C_一文读懂推荐系统知识体系-上(概念、结构、算法)

    本文主要阐述: 推荐系统的3个W 推荐系统的结构 推荐引擎算法 浏览后四章的内容请见下篇. 1. 推荐系统的3个W 1.1 是什么(What is it?) 推荐系统就是根据用户的历史行为.社交关系. ...

  6. ​一文读懂EfficientDet

    一文读懂EfficientDet. 今年年初Google Brain团队在 CVPR 2020 上发布了 EfficientDet目标检测模型, EfficientDet是一系列可扩展的高效的目标检测 ...

  7. 独家 | 一文读懂语音识别(附学习资源)

    原标题:独家 | 一文读懂语音识别(附学习资源) 一.前言 6月27日,美国权威科技杂志<MIT科技评论>公布2017全球最聪明50家公司榜单.科大讯飞名列中国第一.全球第六.全世界排在科 ...

  8. 一文读懂BloomFilter

    # 前言 你在开发或者面试过程中,有没有遇到过**海量数据需要查重**,**缓存穿透**怎么避免等等这样的问题呢?下面这个东西超屌,好好了解下,面试过关斩将,凸显你的不一样. Bloom Filter ...

  9. 从实验室走向大众,一文读懂Nanopore测序技术的发展及应用

    关键词/Nanopore测序技术    文/基因慧 随着基因测序技术不断突破,二代测序的发展也将基因检测成本大幅降低.理想的测序方法,是对原始DNA模板进行直接.准确的测序,消除PCR扩增带来的偏差, ...

最新文章

  1. openpyxl读取excel_初识openpyxl--读取excel数据(二)
  2. 计算机应用基础a,计算机应用基础A卷答案
  3. 银行事后监督及票据影像光盘缩微系统
  4. 系统管理员不可错过的6款服务器监控工具
  5. matlab 线性拟合相关系数,Matlab自动选择相关性最高波段并拟合曲线
  6. 【Demo 0121】纯资源DLL中提取资源
  7. Recursive sequence HDU - 5950
  8. python 键盘输入数字_九宫格键盘输入
  9. 面经 | 我是如何拿到阿里offer的?附面试题+视频
  10. Python之基本数据类型set常用基本方法简述
  11. Axure高保真移动端智能数据监控+用户画像+饼状图+条形图+折线图数据统计+抖音直播app用户数据统计+智慧移动端主播粉丝、评论、播放量大数据统计+套餐购买、续费套餐prd流程
  12. 编写更加稳定、可读性强的JavaScript代码
  13. centos安装rabbitmq_SpringCloud之RabbitMQ安装
  14. /bin/bash: bash not found Alpine linux安装bash
  15. 安装php-solr扩展
  16. 计算机上可以插键盘吗,电脑键盘上这些按键竟然可以这样用?
  17. 峰值信噪比公式_关于 PSNR (Peak Signal-to-Noise Ratio) 峰值信噪比的个人理解
  18. TIBCO Spotfire使用技巧:如何使Spotfire表或散点图中呈现链接中图片
  19. vsphere 6.5 HA 提示:此主机当前没有管理网络冗余,该主机的vSphere HA检测信号数据存储数目为0 告警消除
  20. 某些Win10无法进入安全模式的修复

热门文章

  1. 说说多态是什么,多态的前提条件是什么?
  2. error: possibly undefined macro: AC_PROG_LIBTOOL问题解决
  3. Freeswitch智能语音开发之NLP
  4. 运放-同相放大与反相放大
  5. BeautifulSoup复习练习爬取图片错误及改正
  6. ubuntu18.04配置镜像源
  7. 在ios中无法获取ajax返回数据类型,在iOS10系统中微信后退无法发起ajax请求的问题解决办法...
  8. TIPTOP ERP 调试debug时如何查看临时表中的数据
  9. 配置史上最好用的Vim
  10. 【研究型论文】Realtime Robust Malicious Traffic Detection via Frequency Domain Analysis