wiki

https://zh.wikipedia.org/wiki/ROC%E6%9B%B2%E7%BA%BF

信号检测理论中,接收者操作特征曲线receiver operating characteristic curve,或者叫ROC曲线)是一种座标图式的分析工具,用于 (1) 选择最佳的信号侦测模型、舍弃次佳的模型。 (2) 在同一模型中设定最佳阈值。

在做决策时,ROC分析能不受成本/效益的影响,给出客观中立的建议。

ROC曲线首先是由二战中的电子工程师和雷达工程师发明的,用来侦测战场上的敌军载具(飞机、船舰),也就是信号检测理论。之后很快就被引入了心理学来进行信号的知觉检测。数十年来,ROC分析被用于医学无线电生物学犯罪心理学领域中,而且最近在机器学习(machine learning)和数据挖掘(data mining)领域也得到了很好的发展。

分类模型(又称分类器,或诊断)是将一个实例映射到一个特定类的过程。ROC分析的是二元分类模型,也就是输出结果只有两种类别的模型,例如:(阳性/阴性)(有病/没病)(垃圾邮件/非垃圾邮件)(敌军/非敌军)。

讯号侦测(或变数测量)的结果是一个连续值时,类与类的边界必须用一个阈值英语:threshold)来界定。举例来说,用血压值来检测一个人是否有高血压,测出的血压值是连续的实数(从0~200都有可能),以收缩压140/舒张压90为阈值,阈值以上便诊断为有高血压,阈值未满者诊断为无高血压。二元分类模型的个案预测有四种结局:

  1. 真阳性(TP):诊断为有实际上也有高血压。
  2. 伪阳性(FP):诊断为有实际却没有高血压。
  3. 真阴性(TN):诊断为没有实际上也没有高血压。
  4. 伪阴性(FN):诊断为没有实际却有高血压。

这四种结局可以画成2 × 2的Confusion matrix

  真实值
p n



p' 真阳性
(TP)
伪阳性
(FP)
P'
n' 伪阴性
(FN)
真阴性
(TN)
N'
总数 P N  
阳性 (P, positive)
阴性 (N, Negative)
真阳性 (TP, true positive)
正确的肯定。又称:命中 (hit)
真阴性 (TN, true negative)
正确的否定。又称:正确拒绝 (correct rejection)
伪阳性 (FP, false positive)
错误的肯定,又称:假警报 (false alarm),第二型错误
伪阴性 (FN, false negative)
错误的否定,又称:未命中 (miss),第一型错误
真阳性率 (TPR, true positive rate)
又称:命中率 (hit rate)
TPR = TP / P = TP / (TP+FN)
伪阳性率(FPR, false positive rate)
又称:错误命中率,假警报率 (false alarm rate)
FPR = FP / N = FP / (FP + TN)
准确度 (ACC, accuracy)
ACC = (TP + TN) / (P + N)
即:(真阳性+真阴性) / 总样本数
真阴性率 (TNR)
又称:特异度 (SPC, specificity)
SPC = TN / N = TN / (FP + TN) = 1 - FPR
阳性预测值 (PPV)
PPV = TP / (TP + FP)
阴性预测值 (NPV)
NPV = TN / (TN + FN)
假发现率 (FDR)
FDR = FP / (FP + TP)
Matthews相关系数 (MCC),即 Phi相关系数
MCC = (TP*TN - FP*FN) / \sqrt{P N P' N'}
F1评分
F1 = 2TP/(P+P')
Source: Fawcett (2006).

ROC空间将伪阳性率(FPR)定义为 X 轴,真阳性率(TPR)定义为 Y 轴。

  • TPR:在所有实际为阳性的样本中,被正确地判断为阳性之比率。
  • FPR:在所有实际为阴性的样本中,被错误地判断为阳性之比率。

给定一个二元分类模型和它的阈值,就能从所有样本的(阳性/阴性)真实值和预测值计算出一个 (X=FPR, Y=TPR) 座标点。

从 (0, 0) 到 (1,1) 的对角线将ROC空间划分为左上/右下两个区域,在这条线的以上的点代表了一个好的分类结果(胜过随机分类),而在这条线以下的点代表了差的分类结果(劣于随机分类)。

曲线下面积(AUC)

AUC值越大的分类器,正确率越高。

[zz] ROC曲线的更多相关文章

  1. ROC曲线、PR曲线

    在论文的结果分析中,ROC和PR曲线是经常用到的两个有力的展示图. 1.ROC曲线 ROC曲线(receiver operating characteristic)是一种对于灵敏度进行描述的功能图像. ...

  2. 精确率与召回率,RoC曲线与PR曲线

    在机器学习的算法评估中,尤其是分类算法评估中,我们经常听到精确率(precision)与召回率(recall),RoC曲线与PR曲线这些概念,那这些概念到底有什么用处呢? 首先,我们需要搞清楚几个拗口 ...

  3. 【数据挖掘】朴素贝叶斯算法计算ROC曲线的面积

    题记:          近来关于数据挖掘学习过程中,学习到朴素贝叶斯运算ROC曲线.也是本节实验课题,roc曲线的计算原理以及如果统计TP.FP.TN.FN.TPR.FPR.ROC面积等等.往往运用 ...

  4. PR曲线,ROC曲线,AUC指标等,Accuracy vs Precision

    作为机器学习重要的评价指标,标题中的三个内容,在下面读书笔记里面都有讲: http://www.cnblogs.com/charlesblc/p/6188562.html 但是讲的不细,不太懂.今天又 ...

  5. 机器学习之分类器性能指标之ROC曲线、AUC值

    分类器性能指标之ROC曲线.AUC值 一 roc曲线 1.roc曲线:接收者操作特征(receiveroperating characteristic),roc曲线上每个点反映着对同一信号刺激的感受性 ...

  6. ROC曲线、AUC、Precision、Recall、F-measure理解及Python实现

    本文首先从整体上介绍ROC曲线.AUC.Precision.Recall以及F-measure,然后介绍上述这些评价指标的有趣特性,最后给出ROC曲线的一个Python实现示例. 一.ROC曲线.AU ...

  7. ROC曲线与AUC值

    本文根据以下文章整理而成,链接: (1)http://blog.csdn.net/ice110956/article/details/20288239 (2)http://blog.csdn.net/ ...

  8. ROC曲线绘制

    ROC 曲线绘制 个人的浅显理解:1.ROC曲线必须是针对连续值输入的,通过选定不同的阈值而得到光滑而且连续的ROC曲线,故通常应用于Saliency算法评价中,因为可以选定0~255中任意的值进行阈 ...

  9. ROC曲线

    1.混淆矩阵(confusion matrix)     针对预测值和真实值之间的关系,我们可以将样本分为四个部分,分别是:     真正例(True Positive,TP):预测值和真实值都为1 ...

随机推荐

  1. 一、Android屏幕的计量单位

    px  :是屏幕的像素点in   :英寸mm:毫米pt   :磅,1/72英寸dp  :一个基于density的抽象单位,如果一个160dpi的屏幕,1dp=1pxdip :等同于dpsp  :同dp ...

  2. JAVAWEB学习总结 HttpServletResponse对象(一)

    Web服务器收到客户端(浏览器)的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象,和代表响应的response对象. request和response对象既然代表请求和响 ...

  3. demo和实际项目的距离

    回家的路上想到一个很形象的类比,关于学生时期的实验(以及一些简单的demo)和实际工作项目的差别. 实现了同样的功能,比如要制作一把椅子,如果是简单的demo,那么就如同是给你了一个单独的房间,里面已 ...

  4. HDU 5884 (贪心)

    problem sort 题目大意 有n个数组,每个数组有a[i]个元素,每次可以将至多k个数组合并为一个数组,所花费代价为这些数组的元素和.给定代价上限,求将所有数组合并为1个数组的最小k. 解题分 ...

  5. 去掉tableView的header view的粘黏性

    有的项目中,需要使用tableview的headerview,但是想让headerview粘在最顶不,希望和cell一起滚动,可以试试下面的代码来帮你实现这个需求: - (void)scrollVie ...

  6. C#中的Excel操作【1】——设置Excel单元格的内容,打开Excel文件的一种方式

    前言 作为项目管理大队中的一员,在公司里面接触最多的就是Excel文件了,所以一开始就想从Excel入手,学习简单的二次开发,开始自己的编程之路! 程序界面 功能说明 打开文件按钮,可以由使用者指定要 ...

  7. Log4j的简要概述

    读取配置文件的三种使用方式: 1.Java代码:BasicConfigurator.configure() 2.Java特性:键值对解析(properties文件) PropertyConfigura ...

  8. 错误集:js解析jQuery.post返回的xml之Could not find action or result

    js里用jQuery.post去后台查询数据,返回的是xml格式的数据流. js代码: var params = ""; params = encodeURI(params); v ...

  9. Surprise团队第一周项目总结

    Surprise团队第一周项目总结 团队项目 基本内容 五子棋(Gobang)的开发与应用 利用Android Studio设计一款五子棋游戏,并丰富其内涵 预期目标 实现人人模式:2个用户可以在同一 ...

  10. HttpURlconntiuon获取网络数据

    package Network; import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream ...