《SPSS统计分析与行业应用实战》之诊断试验与ROC分析
一、常用诊断试验的指标
(1)正样本和负样本
正样本就是使模型得出正确结论的例子,负样本是模型得出错误结论的例子。
比如你要从一堆猫狗图片中检测出狗的图片,那么狗就是正样本,猫就是负样本;反过来你若是想检测出猫的图片,那么猫就是正样本,狗就是负样本。
(2)FN, FP, TN, TP
先建立一个二分类的混淆矩阵,混淆矩阵是机器学习中总结分类模型预测结果的情形分析表,以矩阵形式将数据集中的记录按照真实的类别与分类模型预测的类别判断两个标准进行汇总。其中矩阵的行表示真实值,矩阵的列表示预测值,下面我们先以二分类为例,矩阵表现形式,如下:
现在我们举个列子,并画出混淆矩阵表,假如宠物店有10只动物,其中6只狗,4只猫,现在有一个分类器将这10只动物进行分类,分类结果为5只狗,5只猫,那么我们画出分类结果混淆矩阵,并进行分析,如下(我们把狗作为正类):
通过混淆矩阵我们可以轻松算的真实值狗的数量(行数量相加)为6=5+1,真实猫的数量为4=0+4,预测值分类得到狗的数量(列数量相加)为5=5+0,分类得到猫的数量为5=1+4。同时,我们不难发现,对于二分类问题,矩阵中的4个元素刚好表示TP,TN,FP,TN这四个符号量,如下图:
TP:True Positive,被判定为正样本,事实上也是正样本。真的正样本,也叫真阳性。
FN:False Negative,被判定为负样本,但事实上是正样本。假的负样本,也叫假阴性。
FP:False Positive,被判定为正样本,但事实上是负样本。假的正样本,也叫假阳性。
TN:True Negative,被判定为负样本,事实上也是负样本。真的负样本,也叫真阴性。
1.准确率 accuracy
准确率:样本中类别预测正确的比例,即
准确率反映模型类别预测的正确能力,包含了两种情况,正例被预测为正例,反例被预测为反例,当我们对类别为1、类别为0的关注程度一致时(类别为对称的),准确率是一个不错的评价指标,但是如果我们更关注样本被预测为类1的情况,准确率就不是一个合适的指标,因为通过它你无法知道正例的预测情况,因为反例的预测情况也包含在其中,而这并不是我们关注的。
2.精确率 precision
精确率:被预测为正例的样本中,真实的正例所占的比例,即
精确率反映模型在正例上的预测能力,该指标的关注点在正例上,如果我们对正例的预测准确性很关注,那么精确率是一个不错的指标。例如在医学病情诊断上,患者在意的是“不要误诊”,此时精确率是合适的指标。
精确率是受样本比例分布影响的,反例数量越多,那么其被预测为正例的数量也会越多,此时精确率就会下降,因此当样本分布不平衡时,要谨慎使用精确率。
3.召回率 recall
召回率,又称灵敏度(Sensitivity):真实的正例样本中,被预测为正例的样本所占的比例,真阳性率,即
召回率反映模型在正例正确预测上的覆盖率,“不允许有一条漏网之鱼”,如果我们关注的是对真实正例样本预测为正的全面性,那么召回率是很好的指标。例如在一些灾害检测的场景中,任何一次灾害的漏检都是难以接受的,此时召回率是很合适的指标。
召回率是不受样本比例不平衡影响的,因为它只关注的是正例样本上的预测情况。
4.F1-score
F1-score :兼顾精准率与召回率的模型评价指标,其定义为:
当对精准率或者召回率没有特殊要求时,评价一个模型的优劣就需要同时考虑精准率与召回率,此时可以考虑使用F1-score。F1-score考虑了Precision、Recall数值大小的影响,只有当二者都比较高时,F1-score才会比较大。
5.特异度 Specificity
特异度(Specificity),即真阴性率(True Negative Rate,TNR)
Specificity = TNR = TN / (TN + FP)
二、ROC曲线及AUC
1.ROC
ROC(Receiver Operating Characteristic)曲线全称是“受试者工作特征”,通常用来衡量一个二分类学习器的好坏。如果一个学习器的ROC曲线能将另一个学习器的ROC曲线完全包住,则说明该学习器的性能优于另一个学习器。
既然已经这么多评价标准,为什么还要使用ROC和AUC呢?
因为ROC曲线有个很好的特性:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反),而且测试数据中的正负样本的分布也可能随着时间变化。
ROC(receiver operating characteristic curve)是一条曲线,其横轴表示的是FPR--错误地预测为正例的概率(1 - 特异度),纵轴表示的是TPR(True Positive Rate)——正确地预测为正例地概率,二者地计算如下:
从TPR地计算方式来看,其实际上就是召回率。前面已说过,Recall不受样本不平衡的影响,实际上FPR也具有该特点。ROC曲线类似于下图,TPR、FPR地取值范围均在0~1之间
对于一个特定的分类器和测试数据集,显然只能得到一个分类结果,即一组FPR和TPR结果,而要得到一个曲线,我们实际上需要一系列FPR和TPR的值,这又是如何得到的呢?
对于许多学习器在判定二分类问题时是预测出一个对于真值的范围在[0.0, 1.0]之间的概率值,而判定是否为真值则看该概率值是否大于或等于设定的阈值(Threshold)。
例如:如果阈值设定为0.5则所有概率值大于或等于0.5的均为正例,其余为反例。因此对于不同的阈值我们可以得到一系列相应的FPR和TPR,从而绘制出ROC曲线。具体案例如下:
y_true = [0, 1, 0, 1], 真实值
y_score = [0.1, 0.35, 0.4, 0.8], 预测值
分别取4组判定正例用的阈值:[0.1, 0.35, 0.4, 0.8],可得相应4组FPR,TPR:
(1)threshold = 0.1时,由y_score得到的预测值y_pred = [1, 1, 1, 1]
TP = 2, FP = 2, TN = 0,FN = 0
横坐标FPR = FP / (FP + TN) = 1
纵坐标TPR = TP / (TP + FN) = 1
(2)threshold = 0.35时,y_pred= [0, 1, 1, 1]
TP = 2, FP = 1, TN = 1, FN = 0
FPR = FP / (FP + TN) = 0.5
TPR = TP / (TP + FN) = 1
(3)threshold = 0.4时,y_pred= [0, 0, 1, 1]
TP = 1, FP = 1, TN = 1, FN = 1
FPR = FP / (FP + TN) = 0.5
TPR = TP / (TP + FN) = 0.5
(4)threshold = 0.8时,y_pred= [0, 0, 0, 1]
TP = 1, FP = 0, TN = 2, FN = 1
FPR = FP / (FP + TN) = 0
TPR = TP / (TP + FN) = 0.5
当threshold取值越多,ROC曲线越平滑。
2.AUC
AUC(area under curve)是一个数值,从定义上可以直观的看到其表征的意思——曲线与坐标轴围成的面积,ROC-AUC即表示的是ROC曲线与坐标轴围成的面积。
很明显的,TPR越大、FPR越小,模型效果越好,因此ROC曲线越靠近左上角表明模型效果越好,此时AUC值越大,极端情况下为1。与F1-score不同的是,AUC值并不需要先设定一个阈值。
AUC (Area Under Curve) 被定义为ROC曲线下的面积,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围一般在0.5和1之间。使用AUC值作为评价标准是因为很多时候ROC曲线并不能清晰的说明哪个分类器的效果更好,而作为一个数值,对应AUC更大的分类器效果更好。案例中的AUC值为0.75
根据(Fawcett, 2006),AUC的值的含义是:
The AUC value is equivalent to the probability that a randomly chosen positive example is ranked higher than a randomly chosen negative example.
这句话的意思是:首先AUC值是一个概率值,当你随机挑选一个正样本以及一个负样本,当前的分类算法根据计算得到的Score值将这个正样本排在负样本前面的概率就是AUC值。
当然,AUC值越大,当前的分类算法越有可能将正样本排在负样本前面,即能够更好的分类。
可以从AUC判断分类器(预测模型)优劣的标准
AUC = 1,是完美分类器,采用这个预测模型时,存在至少一个阈值能得出完美预测。绝大多数预测的场合,不存在完美分类器。
0.5 < AUC < 1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。
AUC = 0.5,跟随机猜测一样(例:丢铜板),模型没有预测价值。
AUC < 0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测。
《SPSS统计分析与行业应用实战》之诊断试验与ROC分析相关推荐
- 《SPSS统计分析与行业应用实战》之ROC曲线案例
案例数据源为"电信客户.xlsx",为了分析电信用户是否流失,通过客户属性.服务属性.消费情况等指标进行数据建模,包括: 客户属性:主要指标有用户属性数据中的性别(gender). ...
- 《spss统计分析与行业应用案例详解》:实例十二 卡方检验
卡方检验的功能与意义 SPSS的卡方检验是非参数检验方法的一种,其基本功能足通过样本的 频数分布来推断总体是否服从某种理论分布或某种假设分布,这种检验过程是通过分析实际的频数与理论的频数之间的差别或是 ...
- stata绘制roc曲线_两种诊断方法的ROC曲线比较,手把手教Medcalc软件操作
上一次我们讲了用Medcalc软件绘制单个ROC曲线和找截断值,小咖给有需要的小伙伴发过去了Medcalc软件安装包,不知道你有没有感受到这个软件的便利性呢. 今天我们来看一下如何用Medcalc软件 ...
- spss典型相关分析_R语言实战 多元统计分析Day10— —典型相关分析
R语言实战多元统计分析Day10-- 典型相关分析 01 前言 典型相关分析是用于分析两组随机变量之间的相关性程度的一种统计方法,它能够有效的揭示两组随机变量之间的相互线性依赖关系,这种方法是由Hot ...
- 2028全球子宫癌诊断试验行业调研及趋势分析报告
2022- 据恒州诚思调研统计,2021年全球子宫癌诊断试验市场规模约 亿元,2017-2021年年复合增长率CAGR约为 %,预计未来将持续保持平稳增长的态势,到2028年市场规模将接近 亿元,未来 ...
- 《IBM SPSS Modeler数据与文本挖掘实战》之常用数据挖掘软件
根据数据挖掘软件的开发目的和用途,一般可以分为专业型和通用型两种.专业型数据挖掘软件一般是针对某个特定领域的问题提供解决方案,在设计算法的时候充分考虑到数据的规模.类型以及研究者的需求等特点,并作了优 ...
- R语言诊断试验数据处理与ROC分析实战案例2
R语言诊断试验数据处理与ROC分析实战案例2 目录 R语言诊断试验数据处理与ROC分析实战案例2 #ROC指标 #样例数据
- R语言诊断试验数据处理与ROC分析实战案例1
R语言诊断试验数据处理与ROC分析实战案例1 目录 R语言诊断试验数据处理与ROC分析实战案例1 #ROC指标 #样例数据
- R语言诊断试验数据处理与ROC分析实战案例:联合诊断ROC
R语言诊断试验数据处理与ROC分析实战案例:联合诊断ROC 目录 R语言诊断试验数据处理与ROC分析实战案例:联合诊断ROC #ROC指标 #样例数据
- 《SPSS 统计分析从入门到精通(第2版)》一6.3 二项式检验
本节书摘来自异步社区<SPSS 统计分析从入门到精通(第2版)>一书中的第6章,第6.3节,作者 杜强 , 贾丽艳 , 严先锋,更多章节内容可以访问云栖社区"异步社区" ...
最新文章
- 目标检测比赛中的trick
- python做数据分析的包_用Python做数据分析,Numpy,Pandas,matp
- python heap_python topN max heap,使用heapq还是自己实现?
- JQuery果然是神器,这里顺便测试一下我发现的那个漏洞!
- 长连接和Keepalive
- 《构建之法》阅读笔记01
- Linux Cpu 利用率计算
- itextpdf添加表格元素_java使用iText生成pdf表格详解
- 快速幂(一个简单快速适合整数幂次的运算)
- ACM基础——OJ上的Java代码提交规范
- 移动端滚动不流畅问题
- 深度学习2.0-15.随机梯度下降之梯度下降简介
- 期货结算 期货算法公式
- ES6 新特性(深入浅出ES6—阮一峰)
- vue导出服务器上的excel文件,详解如何在Vue项目中导出Excel
- html thead作用,html元素thead标签的使用方法及作用
- 资源隔离的两种虚拟化技术——虚拟机容器 容器技术的资源隔离
- 《穿透:像社会学家一样思考》简述
- 易捷行云EasyStack与火星高科完成产品互认证,保护云上数据
- 前端面试技巧和注意事项_前端HR的面试套路,你懂几个?
热门文章
- python车牌识别使用训练集_TensorFlow基于MNIST数据集实现车牌识别(初步演示版)
- 基于eNSP的千人规模冗余型企业/校园网络设计与规划(可以自己按步骤实现)
- 数字图像处理吴娱课后答案_(完整版)数字图像处理每章课后题参考答案
- 查看本机外网IP地址
- 【Rust日报】 2019-05-22:Mozilla图像团队发布WebRender MVP
- python判断键盘输入_python实时检测键盘输入函数的示例
- scipy库的pearsonr(x, y)的使用
- 【学习笔记】matlab进行数字信号处理(一)生成信号及信号的时域频域分析
- Wonderware- Intouch 利用 Excel 控件制作报表,功能强大
- 离散数学-第八章图论及其应用