分类器模型检测--ROC曲线和AUC值
bigegpt 2025-05-27 12:49 4 浏览
在监督学习建模中有一个重要的模块是模块的检测,就是怎样判断一个模型的好坏?那么常用的的检测的指标有P值、R值、F值、ROC曲线、AUC值等,今天来学习他们都是怎么来的,有什么用处。这里为二分类问题,即只有正例(为1)和负例(为0)。
1、TP为正例中正确预测的值。
2、FP为错报,即把不是正例的样本预测为正例。
3、FN为漏报,即没有把正例的样本预测为正例。
4、TN为正确预测负例的值。
模型判断最基础的两个指标是P值和R值。P值(准确率)是指预测为正例的数据中实际为正例所占有的比例:TP/(TP+FP)。R值(召回率)是指在实际为正例的数据中预测为正例所在比例:TP/(TP+FN)。这两个指标都有片面性,所以常常用两者的调和平均数(harmonic mean)来评判模型的好坏,这个调和平均数就是F值。即F=2RP/(P+R)=2TP/(2TP+FN+FP)。
那么什么是ROC曲线呢,引用维基百科的图片如下:
这里两个坐标是FPR(False positive rate)和TPR(True positive rate)的计算公式为:
1、FPR = FP/(FP+TN)
2、TPR = TP/(TP+FN)
理解上TPR就是召回率,FPR是模型错报值在实际是负例中的比例。显然他们都是在0-1区间中的,那么在上图中有四个点分别为(0,0)、(0,1)、(1,0)、(1,1)为四种极端情况。
(0,0)点说明TP=0和FP=0,是在模型把所有值都判断为负例。
(0,1)点说明TP=0且TN=0,意思是模型一个都没判断对,把正例全判断为负例,负例全判断为正例。
(1,0)点说明FN=0和FP=0,意思是模型全都判断对了,是完美分类器的表现。
(1,1)点说明TN=0和FN=0,意思是模型把所有样本都判断为正例。
那么一个模型只有一个TPR和FPR值,即只能得图中的一个点,那么怎么得到图中的曲线呢?做法是我们在得到模型后,可以得到所有测试集的判为正例的概率值,那么我们可以设定一个阈值(threshold),高于这个阈值则判为1,低于这个阈值判为0。我们对所有测试集的结果按概率大小从大到小排序,如下图:
第一列是样本,第二列是实际的类别,第三列是模型计算后的概率值。那么可以根据不同的阈值得到不同的TPR和FPR,比如阈值设为0.7时TPR为0.2,FPR为0.1。则可以得到这样的图形:
AUC的定义是在ROC曲线下的面积,即对曲线求积分。ROC可以直观的说明都趋于(1,0)点的曲线是一个好的模型,而AUC则从数值上说明模型的好坏,当AUC趋于1时模型越好。
那么在有了F值等指标后为啥要采用ROC和AUC来说明模型的好坏呢?下面是摘自网上的一段话:因为ROC曲线有个很好的特性:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反),而且测试数据中的正负样本的分布也可能随着时间变化。
相关推荐
- 机器学习分类模型评估(三)-F值(F-Measure)、AUC、P-R曲线
-
概述上二篇文章分别讲述了准确率(accuracy)、精确率(Precision)、查准类、召回率(Recall)、查全率、ROC曲线,本文讲述机器学习分类模型评估中的F值(F-Measure)、AUC...
- SPSS ROC曲线诊断临界值确定
-
ROC曲线是在临床医学和流行病学研究中一种常用的在诊断试验、预测模型中用于决定最佳临界点的方法。ROC曲线用真阳性率和假阳性率作图得出曲线,其横轴表示假阳性率(1-特异度),纵轴表示真阳性率(灵敏度)...
- 分类器模型检测--ROC曲线和AUC值
-
在监督学习建模中有一个重要的模块是模块的检测,就是怎样判断一个模型的好坏?那么常用的的检测的指标有P值、R值、F值、ROC曲线、AUC值等,今天来学习他们都是怎么来的,有什么用处。这里为二分类问题,即...
- 【Python机器学习系列】建立梯度提升模型预测心脏疾病
-
这是Python机器学习系列原创文章,我的第204篇原创文章。一、引言对于表格数据,一套完整的机器学习建模流程如下:针对不同的数据集,有些步骤不适用即不需要做,其中橘红色框为必要步骤,由于数据质量较高...
- 如何Keras自动编码器给极端罕见事件分类
-
全文共7940字,预计学习时长30分钟或更长本文将以一家造纸厂的生产为例,介绍如何使用自动编码器构建罕见事件分类器。现实生活中罕见事件的数据集:背景1.什么是极端罕见事件?在罕见事件问题中,数据集是...
- 机器学习分类问题:9个常用的评估指标总结
-
对机器学习的评估度量是机器学习核心部分,本文总结分类问题常用的metrics分类问题评估指标在这里,将讨论可用于评估分类问题预测的各种性能指标1ConfusionMatrix这是衡量分类问题性能的...
- 基于R语言的ROC曲线绘制及最佳阈值点(Cutoff)选择
-
ROC曲线在介绍ROC曲线之前,我们首先需要介绍混淆矩阵(ConfusionMatrix)。在统计分类模型的评估过程中分别统计分类模型归错类,归对类的观测值个数,然后把结果放在一个表里展示出来的表格...
- R数据分析:多分类问题预测模型的ROC做法及解释
-
有同学做了个多分类的预测模型,结局有三个类别,做的模型包括多分类逻辑回归、随机森林和决策树,多分类逻辑回归是用ROC曲线并报告AUC作为模型评估的,后面两种模型报告了混淆矩阵,审稿人就提出要统一模型评...
- SPSS实战:多个指标ROC曲线方向不一致的解决办法汇总(收藏)
-
在诊断实验和预测模型的临床效能评价中,我们常常用到ROC曲线分析。在SPSS中绘制ROC曲线操作比较简单,但如果将多个指标的ROC曲线绘制在同一个图中,有时候会碰到有些指标的ROC曲线在对角线上面,一...
- 小果教你快速分析ROC生存曲线图
-
尔云间一个专门做科研的团队原创小果生信果小伙伴们,大家好呀,很高兴和大家见面,前段时间应小伙伴出的解读ROC曲线图,小伙伴反应很是积极,这不最近小伙伴对于不同年份的ROC曲线图的分析呼声很高,...
- 生信文章中高频出现、模型评估必备分析——ROC曲线图,怎么看?
-
尔云间一个专门做科研的团队关注我们做了生信分析,拿到一堆数据,看不懂图怎么办?火山图、热图、散点图、箱线图、瀑布图···这么多类型的图都咋看?风险模型预后评估图、GO-KEGG富集分析图、GSEA...
- 如何看懂文献里那些图——ROC曲线图
-
ROC曲线的基本思想是把敏感度和特异性看作一个连续变化的过程,用一条曲线描述诊断系统的性能,其制作原理是在连续变量中不同界值点处计算相对应的灵敏度和特异度,然后以敏感度为纵坐标、1-特异性为横坐标绘制...
- 超强,必会的机器学习评估指标
-
大侠幸会,在下全网同名[算法金]0基础转AI上岸,多个算法赛Top[日更万日,让更多人享受智能乐趣]构建机器学习模型的关键步骤是检查其性能,这是通过使用验证指标来完成的。选择正确的验证指...
- 准确性检验 (ROC曲线)的SPSS操作教程及结果解读
-
作者/风仕在上一期,我们已经讲完了诊断试验的基础知识,这期开始讲准确性检验(ROC曲线),我们主要从准确性检验(ROC曲线)的介绍、基本概念、绘制原理、统计量、使用条件及案例的SPSS操作演示这几...
- SPSS:ROC 曲线为什么反了?
-
【作者介绍】李志辉,长期从事各类统计软件应用研究,主编或参编SPSS、MINITAB、STATISTICA多个统计软件教材共8本。代表作:电子工业出版社《SPSS常用统计分析教程(SPSS22.0中...
- 一周热门
- 最近发表
- 标签列表
-
- mybatiscollection (79)
- mqtt服务器 (88)
- keyerror (78)
- c#map (65)
- resize函数 (64)
- xftp6 (83)
- bt搜索 (75)
- c#var (76)
- mybatis大于等于 (64)
- xcode-select (66)
- mysql授权 (74)
- 下载测试 (70)
- skip-name-resolve (63)
- linuxlink (65)
- httperror403.14-forbidden (63)
- logstashinput (65)
- hadoop端口 (65)
- vue阻止冒泡 (67)
- oracle时间戳转换日期 (64)
- jquery跨域 (68)
- php写入文件 (73)
- kafkatools (66)
- mysql导出数据库 (66)
- jquery鼠标移入移出 (71)
- 取小数点后两位的函数 (73)