ROC曲线怎么做啊

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROC曲线怎么做啊相关的知识,希望对你有一定的参考价值。

参考技术A ROC是受试者工作特征(Receiver Operating Characteristic)的缩写。ROC曲线及ROC曲线下面积可作为某一诊断方法准确性评价的指标;通过对同一疾病的多种诊断试验分析比较,这些指标可帮助临床医生筛选出最佳诊断方案。国内外许多学者通过对不同类型资料进行研究,相继提出了ROC曲线面积估计、可信区间估计和面积比较假设检验的参数和非参数方法。
1.ROC曲线及曲线下面积的含义
  ROC曲线即受试者工作特征曲线。美国生物统计百科全书中关于ROC的定义是:“对于可能或将会存在混淆的两种条件或自然状态,需要试验者、专业诊断学工作者及预测工作者作出精细判别,或者准确决策的一种定量方法”。经过大量学者的研究、实践,目前,ROC分析已经成为临床科研文献中应用最广泛的统计方法,是国际公认的比较、评价两种或两种以上影像诊断方法效能差异性的客观标准。ROC曲线是以假阳性率(即1-特异度)为横坐标、以真阳性率(即灵敏度)为纵坐标绘制而成。
ROC曲线下面积(area under the ROC curve,AUC记为A)的大小可从量上具体表明诊断试验的准确度。ROC曲线作为诊断试验准确度的评价指标可理解为:(1)所有可能特异度的平均灵敏度值;(2)所有可能灵敏度值的平均特异度值;(3)随机选择的病例试验结果比随机选择的对照试验结果更有可能怀疑“有病”的概率。理论上,当诊断试验完全无诊断价值即完全凭机会区分患者与非患者时,ROC曲线是一条从原点到右上角的对角线即线段(0,0)~(1,1),这条线称为机会对角线(chance diagonal),如果获得的ROC曲线落在这条机会对角线上,其曲线下面积为0.5;理想的诊断试验ROC曲线应是从原点垂直上升至左上角、然后水平到达右上角,其曲线下面积为1,该ROC曲线对应的诊断试验可完全把患者判为阳性、把非患者判为阴性,但实际上这样的诊断试验极少或不存在。诊断试验的ROC曲线一般位于机会对角线的上方,离机会对角线越远说明诊断准确度越高。ROC曲线下面积实际的取值范围为0.5~1,而一般认为:对于一个诊断试验,ROC曲线下面积在0.5~0.7之间时诊断价值较低,在0.7~0.9之间时诊断价值中等,在0.9以上时诊断价值较高。
2.ROC曲线下面积的估计
(1)双正态参数法 是通过拟合某种统计学模型来实现的,双正态模型是目前ROC曲线分析中最常使用的方法。该法假设患者和非患者的实验结果均符合正态分布,根据试验结果拟合双正态模型的ROC曲线,该曲线可用两个参数表示,一个参数用a表示,是患者组与非患者组试验结果的标准化均数之差;另一个参数可用b表示,是非患者组与患者组试验结果的标准差之比。两个参数可由公式估计得到。因为患者组和非患者组的检测结果经常不符合双正态分布条件,一般需经过正态变换,所以双正态模型的两个参数一般不宜直接计算得到,可由最大似然估计(maximum likelihood estimation,MLE)法得到。ROC分析专用软件ROCKIT 1.1B2即为利用最大似然估计法得到双正态模型的两个参数及ROC曲线下面积。
(2)ROC曲线下面积估计的非参数法:非参数法是根据诊断试验的检测结果直接计算绘制ROC曲线所需的工作点(真阳性率,假阳性率),由此绘制的ROC曲线称为经验ROC曲线,其曲线下面积可由梯形规则计算得到。Bamber于1975年发现,经验ROC曲线下面积等价于患者组和非患者组实验结果秩和检验的Wilcoxon Mann-Whitney检验统计量,因而可由Wilcoxon Mann-Whitney统计量估计曲线下面积的大小。
  3 参数与非参数法的选择
  参数法的优点是可以得到光滑的ROC曲线,面积估计值一般是无偏的。双正态参数的最大似然估计(MLE)可得到完整面积、部分面积以及某FPR值的灵敏度。ML算法的计算机程序,如ROCFIT、ROCKIT容易获得(见芝加哥大学放射学系http://xray.bsd.uchicago.edu/cgi-bin/roc_software.cgi)。但是,如果样本含量较小,可能出现退化问题,获得的某些参数将为无穷大,计算机算法将不收敛,无法获得所需要的ROC曲线指标。尽管双正态假设被反复证明是许多不同ROC曲线形式的较好近似,但很多情况下这种假设仍不适用,此时采用非参数法更好。Hajian-Tilaki等发现,即使数据不服从双正态时,参数法和非参数法产生的ROC曲线下面积及其方差也十分类似。这一结果提示,不必过分要求数据服从双正态,可根据应用的方便性与实用性来选择方法。
参考技术B 我要这个答案,哎,不会啊,他有哪些用途啊

人工智能——分类器性能指标之ROC曲线AUC值

文章目录


二分类模型预测的结果是否足够好,ROC和AUC是重要指标。

ROC曲线

ROC曲线概念

ROC曲线:接收者操作特征(receiveroperating characteristic),roc曲线上每个点反映着对同一信号刺激的感受性。

ROC曲线坐标系

横轴:负正类率(false postive rate FPR)特异度,划分实例中所有负例占所有负例的比例;(1-Specificity)

纵轴:真正类率(true postive rate TPR)灵敏度,Sensitivity(正类覆盖率)

ROC曲线重要概念

针对一个二分类问题,将实例分成正类(postive)或者负类(negative)。但是实际中分类时,会出现四种情况.

  1. 若一个实例是正类并且被预测为正类,即为真正类(True Postive TP)
  2. 若一个实例是正类,但是被预测成为负类,即为假负类(False Negative FN)
  3. 若一个实例是负类,但是被预测成为正类,即为假正类(False Postive FP)
  4. 若一个实例是负类,但是被预测成为负类,即为真负类(True Negative TN)

这四种情况在深度学习的结果中又代表如下情况

  • TP:正确的肯定数目

  • FN:漏报,没有找到正确匹配的数目

  • FP:误报,没有的匹配不正确

  • TN:正确拒绝的非匹配数目

列联表如下,1代表正类,0代表负类:

由上表可得出横,纵轴的计算公式:

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

特异度(specificity)与灵敏度(sensitivity)

假设采用逻辑回归分类器,其给出针对每个实例为正类的概率,那么通过设定一个阈值如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越大效果越好。

案例:画ROC曲线

假设已经得出一系列样本被划分为正类的概率,然后按照大小排序,下图是一个示例,图中共有20个测试样本,“Class”一栏表示每个测试样本真正的标签(p表示正样本,n表示负样本),“Score”表示每个测试样本属于正样本的概率。

接下来,我们从高到低,依次将“Score”值作为阈值threshold,当测试样本属于正样本的概率大于或等于这个threshold时,我们认为它为正样本,否则为负样本。

举例来说,对于图中的第4个样本,其“Score”值为0.6,那么样本1,2,3,4都被认为是正样本,因为它们的“Score”值都大于等于0.6,而其他样本则都认为是负样本。每次选取一个不同的threshold,我们就可以得到一组FPR和TPR,即ROC曲线上的一点。这样一来,我们一共得到了20组FPR和TPR的值,将它们画在ROC曲线的结果如下图:

AUC值

AUC(Area under Curve):Roc曲线下的面积,介于0.1和1之间。Auc作为数值可以直观的评价分类器的好坏,值越大越好。

首先AUC值是一个概率值,当你随机挑选一个正样本以及负样本,当前的分类算法根据计算得到的Score值将这个正样本排在负样本前面的概率就是AUC值,AUC值越大,当前分类算法越有可能将正样本排在负样本前面,从而能够更好地分类。

为什么使用Roc和Auc评价分类器

既然已经这么多标准,为什么还要使用ROC和AUC呢?因为ROC曲线有个很好的特性:当测试集中的正负样本的分布变换的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现样本类不平衡,即正负样本比例差距较大,而且测试数据中的正负样本也可能随着时间变化。下图是ROC曲线和Presision-Recall曲线的对比:

在上图中,(a)和©为Roc曲线,(b)和(d)为Precision-Recall曲线。

(a)和(b)展示的是分类其在原始测试集(正负样本分布平衡)的结果,©(d)是将测试集中负样本的数量增加到原来的10倍后,分类器的结果,可以明显的看出,ROC曲线基本保持原貌,而Precision-Recall曲线变化较大。

以上是关于ROC曲线怎么做啊的主要内容,如果未能解决你的问题,请参考以下文章

多分类ROC曲线

如何用R语言画ROC曲线图

ROC曲线和PR曲线

ROC曲线原理实例分析 【1】

如何用R语言画ROC曲线图

ggplot2-ROC曲线美化