更多可见计算机视觉-Paper&Code - 知乎

目录

混淆矩阵 (Confusion Matrix)

查准率/精确率 Precision

召回率/检出率/查全率 Recall

过杀率 Kill Rate

漏杀率 Miss Kill Rate

PR曲线、mAP(Mean-Average-Precision)

ROC曲线(receiver operating characteristic curve)、AUC(Area under Curve)


写了这么多突然发现忘了最重要的一部分,如何评估模型,这篇文章就好好捋一捋常见的一些评价指标

混淆矩阵 (Confusion Matrix)

以图为准,准确率可以用混淆矩阵对角线之和除以总图片数量来计算。对角线上的数字越大越好,以二分类猫狗为例,猫=1正样本,狗=0

  • True positives: 简称为 TP,即正样本被正确识别为正样本,猫图->猫。
  • True negatives: 简称为 TN,即负样本被正确识别为负样本,狗图->狗。
  • False Positives: 简称为 FP,即负样本被错误识别为正样本,狗图->猫。
  • False negatives: 简称为 FN,即正样本被错误识别为负样本,猫图->狗。

真正率:True Positive Rate(TPR)也称为灵敏度(Sensitivity)、召回率;

TPR = TP /(TP + FN)

真负率:True Negative Rate(TNR)也称为特指度(specificity);

TNR = TN /(TN + FP)

假正率:False Positive Rate (FPR);

FPR = FP /(FP + TN)

假负率:False Negative Rate(FNR);

FNR = FN /(TP + FN)

查准率/精确率 Precision

定义为:预测为正的样本中有多少是真正的正样本(针对预测结果)。宁可漏过,也不杀错人,只要刀出鞘杀的人一定是坏的

TP / (TP+FP)

召回率/检出率/查全率 Recall

定义为:样本中的正例有多少被预测正确了(针对原始样本) 宁可错杀一千,不可放过一个 pr两个参数都是互相平衡

TP / (TP+FN)

过杀率 Kill Rate

定义为:当原样本是正常=0,但检测结果是异常=1,则为过杀。 被过杀的样本数占测试集中的正常样本数的比例

FN / (TP+FN)

漏杀率 Miss Kill Rate

定义为:当原样本是异常=0,但检测结果是正常=1,则为漏杀。 被漏杀的样本数占测试集中的异常样本数的比例

FP / (FP+TN)

PR曲线、mAP(Mean-Average-Precision)

PR曲线与ROC类似,通过改变识别阈值,得到对应的点。

PR 曲线聚焦于正例。类别不平衡问题中由于主要关心正例,所以在此情况下 PR 曲线被广泛认为优于 ROC 曲线。

AP就是 Precision-recall 曲线下面的面积,通常来说一个越好的分类器,AP 值越高。mAP是多个类别 AP 的平均值。这个 mean 的意思是对每个类的 AP 再求平均(与ROC类似),得到的就是 mAP 的值,mAP 的大小一定在 [0,1] 区间,越大越好。该指标是目标检测算法中最重要的一个。

ROC曲线(receiver operating characteristic curve)、AUC(Area under Curve

ROC曲线从高到低,依次将 Score 的值(或者自定义的[0,1]一系列预置)作为阈值 threshold,当测试样本属于正样本的概率大于或等于这个 threshold 时,我们认为它为正样本,否则为负样本。

每次选取一个不同的 threshold,我们就可以得到一组 FPR 和 TPR,即 ROC 曲线上的一点。 将这些点连接起来,就得到了 ROC 曲线。当 threshold 取值越多,ROC 曲线越平滑。曲线越接近左上角代表检测模型的效果越好。

当测试集中的正负样本的分布发生变化时,ROC 曲线可以保持不变。因为 TPR 聚焦于正例,FPR 聚焦于与负例。ROC成为一个比较均衡整体的评估方法

AOC则代表曲线下方蓝色的面积,可以用numpy中梯形积分方法进行计算。AUC 值本质上是一个概率值,当我们随机挑选一个正样本以及一个负样本,算法计算得到正样本的 Score 值大于负样本概率就是 AUC 值。AUC 值越大,当前的分类算法越有可能将正样本排在负样本前面,即能够更好的分类

同时可以使用约登指数。该方法的思想是找到横坐标与纵坐标差异最大的点,即是最佳阈值

fpr=FP /(FP + TN)
recall= TP /(TP + FN)
# 因为是负积分,所以要加个-
auc=-np.trapz(recall_col, fprs_col)
find_best_threshold(recall,fpr,np.range(0,1,0.1))
def find_best_threshold(TPR, FPR, threshold):y = TPR - FPRyouden_index = np.argmax(y)  optimal_threshold = threshold[youden_index]point = [FPR[youden_index ], TPR[youden_index ]]return optimal_threshold, point

希望你没有被绕晕~

下面可以用code来举例

y = np.array([0, 1, 0, 1])   #实际值
scores = np.array([0.1, 0.6, 0.6, 0.5])  #预测值
取0.5为阈值,大于等于0.5为真值为1
则混淆矩阵为如图

Paper Reading - 基础系列 - 常用评价指标 ROC、PR、mAP相关推荐

  1. Paper Reading - 基础系列 - Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour

    更多可关注 计算机视觉-Paper&Code - 知乎 Abstract 恺明出品必属精品,目前在Facebook AI Research,多的不用多说.可以说这篇17年的论文即使到现在也绝不 ...

  2. Paper Reading - Model系列 - LiteHRNet

    Abstract 更多关注 计算机视觉-Paper&Code - 知乎 paper code paper HRNet由微软亚洲研究院和中科大提出,已发表于CVPR2019 王井东 IEEE f ...

  3. Paper Reading - HRNet 系列

    更多可关注 计算机视觉-Paper&Code - 知乎 先更新HRNet系列第一篇,留坑,炼丹的人命名都很奇怪,HRNet还以为是人力总监发的呢,OCRNet跟OCR文字识别又扯不上边,欢迎大 ...

  4. Paper Reading - Model系列 - ShuffleNet Chanel Attention

    ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices Paper 更多可见计算机视觉-P ...

  5. Paper Reading - 综述系列 - Hyper-Parameter Optimization(下)

    更多可见计算机视觉-Paper&Code - 知乎 目录 搜索策略 网格搜索 随机搜索 贝叶斯优化 结论 接着上一篇继续说 搜索策略 网格搜索 将每个超参数的搜索空间离散化为笛卡尔积.然后使用 ...

  6. Java基础系列【导读】

    Java基础系列导读 Java基础 JaveWEB Java基础 基础系列[一]-- Java语言介绍 基础系列[二]-- 环境搭建 基础系列[三]-- Java基础语法 基础系列[四]-- 面向对象 ...

  7. 推荐系统:常用评价指标总结【准确率、精确率、召回率、命中率、(归一化折损累计增益)NDCG、平均倒数排名(MRR)、ROC曲线、AUC(ROC曲线下的面积)、P-R曲线、A/B测试】

    1.Recall(召回率)与Precision(精确率) 网站在提供推荐服务时,一般是给用户一个个性化的推荐列表,这种推荐叫做TopN推荐,TopN推荐的预测准确率一般通过召回率和精确率来度量. 在介 ...

  8. gif透明背景动画_前端基础系列之bmp、jpg、png、gif、svg常用图片格式浅谈(二)...

    IT客栈 作者:大腰子 bmp.jpg.png.gif.svg常用图片格式 之前为大家介绍了几种WEB前端常用的图片格式,对比了它们的特点,参见<前端基础系列之bmp.jpg.png.gif.s ...

  9. 大数据基础系列 5:Hadoop 实验——熟悉常用的 HDFS 目录操作和文件操作

    文章目录 前言 一.实验目的 二.实验平台 三.实验内容和要求 3.1.HDFS 目录操作 3.1.1.创建用户目录 3.1.2.显示 HDFS 中与当前用户对应的目录内容 3.1.3.列出 HDFS ...

最新文章

  1. XamarinSQLite教程Xamarin.iOS项目中打开数据库文件
  2. 2000坐标转换成经纬度_ArcGIS中的坐标问题快问快答
  3. 数据结构与算法 | 直接选择排序、双向选择排序
  4. volatile和synchronized的区别与联系
  5. 哈维玛德学院 计算机,哈维玛德学院优势多多,令人神往!
  6. Linux之ssh-copy-id命令
  7. 39. 后台模块开发(4)
  8. gpu 加速矩阵 深度学习_GPU如何加速深度学习
  9. 搞深度学习框架的那帮人,不是疯子,就是骗子
  10. hp1020plus网络打印机服务器
  11. php 开源 博客,推荐常用PHP开源博客TOP10
  12. 雄迈录像机开放哪些端口
  13. 你养狗的方法够科学吗?
  14. 人工神经网络概念及组成,人工神经网络基本概念
  15. Android 启程
  16. asm.jar 安卓手机屏幕在电脑上显示
  17. 遇到了一个date控件显示的问题
  18. python自动拼图_Python图像处理——人物拼图游戏
  19. debian linux 7 安装,Debian 7.0.0安装图解教程
  20. php得到明天凌晨,PHP获得今天凌晨时间戳,明天凌晨时间戳,获取凌晨时间戳

热门文章

  1. Java使用三层架构、JDBC连接数据库完成《试题信息管理系统》
  2. 《时代》杂志:元宇宙将如何塑造我们的未来?
  3. s905各种型号的区别_工具柜规格型号
  4. etc的常见算法_几个常用算法的适应场景及其优缺点(非常好)
  5. docker学习笔记(二)docker常用命令
  6. Q版京剧脸谱来喽——武生
  7. TouchScript中文---The Journey of a Touch Point
  8. 51单片机入门——Keil uVision4的使用
  9. java 对象逃逸 解决_Java中的逃逸问题心得
  10. SpringBoot中post请求报405错误排坑