混淆矩阵、准确率、召回率、ROC曲线、AUC

假设有一个用来对猫(cats)、狗(dogs)、兔子(rabbits)进行分类的系统,混淆矩阵就是为了进一步分析性能而对该算法测试结果做出的总结。假设总共有 27 只动物:8只猫, 6条狗,13只兔子。结果的混淆矩阵如上图所示,我们可以发现,只有主对角线上的预测结果是完全正确的。每一列的和为预测为该类的数量,每一行的和为实际该类的数量。在这个混淆矩阵中,实际有8只猫,但是系统将其中3只预测成了狗;对于6条狗,其中有1条被预测成了兔子,2条被预测成了猫。从混淆矩阵中我们可以看出系统对于区分猫和狗存在一些问题,但是区分兔子和其他动物的效果还是不错的。所有正确的预测结果都在对角线上,所以从混淆矩阵中可以很方便直观的看出哪里有错误,因为他们呈现在对角线外面。下面介绍混淆表格。

在预测分析中,混淆表格(有时候也称为混淆矩阵),是由false positives,false negatives,true positives和true negatives组成的两行两列的表格。它允许我们做出更多的分析,而不仅仅是局限在正确率,对于上面的矩阵,对于猫这一类的分类情况可以表示为下面的表格

根据准确率和召回率的计算公式
\[ \begin{split} precision &= \dfrac{TP}{TP + FP}\\ recall &= \dfrac{TP}{TP + FN} \end{split} \]

于是根据precision以及recall的计算公式以及上面的表格,可以得到猫的分类准确率为5/(5 + 2),猫分类的召回率为 5/(5+3)。

这部分内容来自https://blog.csdn.net/qq_28448117/article/details/78219549

  • 真正类率(True Postive Rate)TPR: TP/(TP+FN),代表分类器预测的正类中实际正实例占所有正实例的比例。
  • 负正类率(False Postive Rate)FPR: FP/(FP+TN),代表分类器预测的正类中实际负实例占所有负实例的比例。
  • 真负类率(True Negative Rate)TNR: TN/(FP+TN),代表分类器预测的负类中实际负实例占所有负实例的比例,TNR=1-FPR。

假设采用逻辑回归分类器,其给出针对每个实例为正类的概率,那么通过设定一个阈值如0.6,概率大于等于0.6的为正类,小于0.6的为负类。对应的就可以算出一组(FPR,TPR),在平面中得到对应坐标点。随着阈值的逐渐减小,越来越多的实例被划分为正类,但是这些正类中同样也掺杂着真正的负实例,即TPR和FPR会同时增大。阈值最大时,对应坐标点为(0,0),阈值最小时,对应坐标点(1,1)。

如下面这幅图,(a)图中实线为ROC曲线,线上每个点对应一个阈值。

  • 横轴FPR:1-TNR,1-Specificity,FPR越大,预测正类中实际负类越多。
  • 纵轴TPR:Sensitivity(正类覆盖率),TPR越大,预测正类中实际正类越多。

理想目标:TPR=1,FPR=0,即图中(0,1)点,故ROC曲线越靠拢(0,1)点,越偏离45度对角线越好,Sensitivity、Specificity越大效果越好。
AUC(Area under Curve):Roc曲线下的面积,介于0.1和1之间。AUC作为数值可以直观的评价分类器的好坏,值越大越好。AUC值是一个概率值,当你随机挑选一个正样本以及负样本,当前的分类算法根据计算得到的Score值将这个正样本排在负样本前面的概率就是AUC值,AUC值越大,当前分类算法越有可能将正样本排在负样本前面,从而能够更好地分类。

以上内容来自https://blog.csdn.net/u013385925/article/details/80385873

转载于:https://www.cnblogs.com/crackpotisback/p/10044459.html

混淆矩阵、准确率、召回率、ROC曲线、AUC相关推荐

  1. 混淆矩阵 正确率 召回率 ROC曲线

    混淆矩阵: 预测结果 真实结果 +1 -1 +1 TP FN -1 FP TN TP:真阳      TN:真阴 FP:假阳      FN:假阴 正确率/精准率(precision):TP/(TP+ ...

  2. 机器学习(五)之评价指标:二分类指标、多分类指标、混淆矩阵、不确定性、ROC曲线、AUC、回归指标

    文章目录 0 本文简介 1 二分类指标 1.1 二分类时的错误类型 1.2 不平衡的数据 1.3 混淆矩阵 1.4 考虑不确定性 1.5 准确率-召回率曲线 1.6 ROC与AUC 2 多分类指标 3 ...

  3. 为多模型寻找模型最优参数、多模型交叉验证、可视化、指标计算、多模型对比可视化(系数图、误差图、混淆矩阵、校正曲线、ROC曲线、AUC、Accuracy、特异度、灵敏度、PPV、NPV)、结果数据保存

    使用randomsearchcv为多个模型寻找模型最优参数.多模型交叉验证.可视化.指标计算.多模型对比可视化(系数图.误差图.classification_report.混淆矩阵.校正曲线.ROC曲 ...

  4. 寻找模型最优参数、多模型交叉验证、可视化、指标计算、多模型对比可视化(系数图、误差图、混淆矩阵、校正曲线、ROC曲线、AUC、Accuracy、特异度、灵敏度、PPV、NPV)

    使用randomsearchcv寻找模型最优参数.多模型交叉验证.可视化.指标计算.多模型对比可视化(系数图.误差图.classification_report.混淆矩阵.校正曲线.ROC曲线.AUC ...

  5. 混淆矩阵、召回率、精确率、正确率、F1、真阳性率、假阳性率、ROC、AUC

    ConfusionMatrix:Confusion Matrix:ConfusionMatrix: 真实 1 0 预测 1 TP(命中) FP(虚报) 0 FN(漏报) TN(正确拒绝) 召回率Rec ...

  6. 准确率/召回率/精准率/F值_模型评价

    准确率/召回率/精准率/F值 模型选择:对特定任务最优建模方法的选择或者对特定模型最佳参数的选择. 在训练数据集上运行模型(算法)并在测试数据集中测试效果, 迭代进行数据模型的修改, 这种方式被称为交 ...

  7. 分类算法的评价指标-混淆矩阵,精准率召回率,pr曲线,roc曲线等

    文章目录 前言 一.混淆矩阵(confusion matrix)? 二.精准率和召回率 1.精准率 2.召回率 3.自己实现精准率和召回率以及混淆矩阵 4.sklearn中的精准率召回率以及混淆矩阵 ...

  8. 准确率,召回率,F值,ROC,AUC

    准确率,召回率,F值,ROC,AUC 责任编辑:词汇网 发表时间:2016-4-23 20:08:08 度量表 1.准确率 (presion)p=TPTP+FP 理解为你预测对的正例数占你预测正例总量 ...

  9. Python机器学习:评价分类结果003实现混淆矩阵,精准率和召回率

    #实现混淆矩阵,精准率和召回率 import numpy as np from sklearn import datasets digits = datasets.load_digits() X = ...

  10. 准确率-召回率 - Precision-Recall

    Precision-Recall 准确率-召回率 本文翻译自 Precision-Recall 更多翻译可以看 Scikit-learn 某部分的中文翻译 用于评估分类器输出质量的 准确率-召回率 指 ...

最新文章

  1. Xamarin 学习笔记 - 配置环境(Windows iOS)
  2. JavaWeb:JDBC之数据库连接池
  3. python的scrapy爬虫可以将爬去的数据放入数据库吗_Python基于Scrapy的爬虫 数据采集(写入数据库)...
  4. 目标检测系列(七)——CornerNet:detecting objects as paired keypoints
  5. 奇异值分解(SVD)原理与在降维中的应用
  6. GreyBox和ThickBox
  7. 交通运输部·车载导航系统——终端如何与服务器通信——玩转通信协议(源码下载)...
  8. 我乃平常客,本持平常心| 2021 年中总结
  9. 江苏大学毕业论文答辩PPT模板
  10. 海康 hikvision SDK 初始化、登录、布防、监听
  11. 计算机毕业设计之java+ssm疫情防控志愿者管理系统
  12. 电动自行车CE认证、电动滑板车CE认证审核新标准解析
  13. 如何解决Win10系统更新显示0x80070057代码的错误?
  14. smartUp手势插件Chrome
  15. Invalid component name: “_Ctor“. Component names should conform to valid cus
  16. jaeger,zipkin,datadog,skywalking等分布式追踪工具
  17. 深入解析Word页码设置:你不得不学的Office技巧(一)
  18. 代码敲累了就来看看《PPT制作经验分享-发布版PPT》
  19. java 企业版_下列版本中哪个是Java 企业版
  20. 如何提高自己的专注度

热门文章

  1. myEclipse怎样将程序部署到tomcat(附录MyEclipse调试快捷键)
  2. Android开发之蓝牙(Bluetooth)操作(一)--扫描已经配对的蓝牙设备
  3. css3导航渐变 滑过显示动画
  4. 需求获取常见的方法是进行客户访谈,结合你的实践谈谈会遇到什么问题,你是怎么解决的?...
  5. Easyui在form表单提交的时候,如果有datebox报 Uncaught SyntaxError: Unexpected token 的解决...
  6. Android中ProgressDialog的应用
  7. QEMU+GDB调试方法
  8. LeetCode(257)——二叉树的所有路径(JavaScript)
  9. JavaScript数据结构——图(Graph)
  10. HTML的基本知识(七)——表单的基本知识及案例