(精确度,召回率,真阳性,假阳性)ACC、敏感性、特异性等 ROC指标

article/2025/9/16 22:23:23

1、概念

金标准(标准集)

预测算法(预测集)

验证存在(T)

验证不存在(F)

合计

预测存在(P)

预测为正,真实为正(TP)

预测为正,真实为负(FP)

P(预测为正样本)

预测不存在(N)

预测为负,真实为正(FN)

预测为负,真实为负(TN)

N(预测为负样本)

合计

T(验证为正样本)

F(验证为负样本)

所有样本数(P+N或者T+F)

简化后:

标准集

测试集

正样本

负样本

合计

预测正样本

TP

FP

P

预测负样本

FN

TN

N

合计

T

F

P+N或者T+F

准确率(Accuracy):Acc = ( TP + TN ) / ( P +N )

精确率( precision )/(查准率):TP / ( TP+FP ) = TP / P  

敏感性(Sensitivity)/召回率(recall)/(查全率):TP / (TP + FN ) = TP / T

真阳性率(True positive rate):TPR = TP / ( TP+FN ) = TP / T  (敏感性 sensitivity)

真阴性率(TNR:true negative rate):TNR= TN / (TN+FP) = TN/F(特异性:specificity),描述识别出的负例占所有负例的比例 

假阳性率(False positive rate):FPR = FP / ( FP + TN ) = FP / F  

假阴性率 (False Negative Rate):FNR = FN /(TP + FN)= FN / T

F-measure:2*recall*precision / ( recall + precision )

ROC曲线:FPR为横坐标,TPR为纵坐标

PR曲线:recall为横坐标,precision 为纵坐标

=====概念解释=============

敏感性 Sensitivity
敏感性又称真阳性率,就是发病之后,你的诊断方法对疾病的敏感程度(识别能力)。

敏感性越高,漏诊概率越低。

特异性 Specificity
特异性又称真阴性率,不发病(我们这里称之为健康)的特征是有别于发病的特征的,我们利用这些差异避免误诊,那么诊断标准对于这些差异利用的如何就用特异性来表示。

特异性越高,确诊概率越高。
========================

从这个表格中可以引出一些其它的评价指标: 
- ACC:classification accuracy,描述分类器的分类准确率 
计算公式为:ACC=(TP+TN)/(TP+FP+FN+TN) 
- BER:balanced error rate 
计算公式为:BER=1/2*(FPR+FN/(FN+TP)) 
- TPR:true positive rate,描述识别出的所有正例占所有正例的比例 
计算公式为:TPR=TP/ (TP+ FN) 
- FPR:false positive rate,描述将负例识别为正例的情况占所有负例的比例 
计算公式为:FPR= FP / (FP + TN) 
- TNR:true negative rate,描述识别出的负例占所有负例的比例 
计算公式为:TNR= TN / (FP + TN) 
- PPV:Positive predictive value 
计算公式为:PPV=TP / (TP + FP) 
- NPV:Negative predictive value 
计算公式:NPV=TN / (FN + TN) 
其中TPR即为敏感度(sensitivity),TNR即为特异度(specificity)。


2、测试例子 

十次十折后计算的预测标签

计算例子,比如第10次计算,通过excel筛选器,

筛选预测pda=1,label =1,共TP = 53个病例.

筛选预测pda=1,label =0共FP = 4个病例.

筛选预测pda=0,label =1,共FN = 11个病例.

筛选预测pda=0,label =0,共TN = 44个病例.

金标准(标准集)

预测算法(预测集)

验证存在(T)

验证不存在(F)

合计

预测存在(P)

预测为正,真实为正(TP=53)

预测为正,真实为负(FP=4)

P=57(预测为正样本)

预测不存在(N)

预测为负,真实为正(FN=11) 

预测为负,真实为负(TN=44)

N=55(预测为负样本)

合计

T=64(验证为正样本)

F=48(验证为负样本)

所有样本数(P+N或者T+F=112)


 

 敏感性 (sensitivity) TPR = TP / ( TP+FN ) = TP / T  =0.828125

特异性(specificity) TNR= TN / (FP + TN) = 44/48 = 0.9166666666666667

准确率(Accuracy):Acc = ( TP + TN ) / ( P +N ) = (53+44 )/112 = 0.8660714285714286

ROC 曲线TPR,FPR计算例子:

1、ROC曲线是如何计算得到的? - 知乎

2、目标检测Object Detection下的P-R曲线,AP,mAP,AUC,ROC曲线详解_喵喵扫描仪的博客-CSDN博客_目标检测roc曲线

3、P-R曲线及与ROC曲线区别 - 光彩照人 - 博客园

4、ROC曲线、P-R曲线以及mAP_Mr_health的博客-CSDN博客_roc曲线使用场景

5、P-R曲线深入理解_keep_forward的博客-CSDN博客_p-r曲线

6、计算P-R曲线的代码:

sklearn.metrics.precision_recall_curve(y_true, probas_pred, pos_label=None, sample_weight=None)

sklearn.metrics.average_precision_score则计算预测值的平均准确率(AP: average precision)

 python画PR曲线(precision-recall曲线)_Mr.Jcak的博客-CSDN博客_precision_recall_curve

7、用sklearn库自动计算tp,fp,tn,fn,计算acc,sen,spe,f1-score,precision指标。

参考文章:

1)sklearn中混淆矩阵(confusion_matrix函数)的理解与使用_秃头崽崽的博客-CSDN博客_sklearn 混淆矩阵

2)Python sklearn.metrics.confusion_matrix实例讲解 - 码农教程

3)机器学习笔记--classification_report&精确度/召回率/F1值_阿卡蒂奥的博客-CSDN博客_classification report

具体代码如下:

# aip指标fpr_aip, tpr_aip, thresholds = metrics.roc_curve(roc_aip_gt_labels, roc_aip_pre_scores, drop_intermediate=False)auc = metrics.auc(fpr_aip, tpr_aip)all_indicators_aip["auc"].append(auc)y_pred = np.where(np.array(roc_aip_pre_scores) > 0.5, 1, 0)tn, fp, fn, tp = metrics.confusion_matrix(roc_aip_gt_labels, y_pred, labels=[0, 1]).ravel()print(metrics.classification_report(roc_aip_gt_labels, y_pred, target_names=['BG', 'AIP'],digits=4))  # target_names和上面的labels对上sen = tp / (tp + fn)all_indicators_aip["sen"].append(sen)spe = tn / (tn + fp)all_indicators_aip["spe"].append(spe)precision = tp / (tp + fp)all_indicators_aip["precision"].append(precision)acc = (tp + tn) / (tp + fp + tn + fn)all_indicators_aip["acc"].append(acc)f1_score = 2 * precision * sen / (precision + sen)all_indicators_aip["f1_score"].append(f1_score)


http://chatgpt.dhexx.cn/article/JfmQABEU.shtml

相关文章

fNIRS中的假阳性和假阴性:问题、挑战和方法

导读 本文强调了在进行功能性近红外光谱(fNIRS)研究时需要考虑和解决的一个重要问题,即无意中测量非神经血管耦合引起的fNIRS血流动力学反应的可能性。这些可能被误解为大脑活动,即“假阳性”(由于错误地将检测到的血流动力学反应分配给功能性大脑活动而…

精确度、召回率、真阳性、假阳性

1) 精确度( precision ):TP / ( TPFP ) TP / P 2) 召回率(recall):TP / (TP FN ) TP / T 3) 真阳性率(True positive rate):TPR TP / ( TPFN ) TP / T (敏感性 sensiti…

每天五分钟机器学习:如何计算模型的假阳性率和真阳性率?

本文重点 如上所示,我们学习了查准率和召回率,本文我们将学习真阳性率和假阳性率,学会这个对将来构建ROC曲线非常有帮助 真阳性率和假阳性率 假如使用测试集来评估一个分类模型(二分问题):所以样本实际值…

统计学中的真阳性(TP),假阴性(FN),假阳性(FP),真阴性(TN)怎么理解?

举个例子,假如要在一个地区进行1000人的疾病检测,我们站在上帝视角,知道这1000人中,有10人是疾病感染者,占比1%。 但实际的检测结果可能存在误差,误差包括两种情况 疾病感染者,被错误诊断为健康身体健康,但却被错误诊断为感染者对应了两种情况 检测出来的是阴性,就一…

敏感性、特异性、假阳性、假阴性

敏感性、特异性、假阳性、假阴性是医学领域常用的评估指标。 敏感性:在金标准判断有病(阳性)的人群中,检测出阳性的几率。真阳性(检测出确实有病的能力) TPR TP / ( TPFN ) TP / T 特异性:在金…

ADODB简介

ADODB简介 ADODB 是 Active Data Objects Data Base 的简称,它是一种 PHP 存取数据库的函式组件。现在 SFS3 系统 (校园自由软件交流网学务系统) 计划的主持人陈莹光老师,决定采用此一组件,为了让更多有心参与该项目的伙伴们能够顺利加入发展…

Padavan固件添加adbyby去广告功能

2019独角兽企业重金招聘Python工程师标准>>> 在路由-》自定义脚本》wan上下行启动后执行,添加下面脚本 #!/bin/shsleep 30###Adbyby去广告脚本### Adbyby1 ### 0关闭;1启动 ########以下脚本请勿更改##### if [ "$Adbyby" "0…

newifi mini php,WBB - Newifi mini刷小米路由mini固件 + 屏蔽广告Adbyby插件小记

17号在京东下单Newifi mini,99块,当时还觉得很神奇,下午3点的单,居然晚上7点就到了。和同类产品小米路由mini的官网缺货以及130价格完全不是一回事,但据说他们的硬件却基本一致。 到手开箱使用,一看界面还不…

adb host 和 adbd

1、在HOST端,adb会fork出一个守护进程(不是adbd),即server,而父进程继续处理client请求,所有的client通过TCP端口号5037进行与server通信,而server创建local socket与remote socket,…

2017-06-11 Padavan 完美适配newifi mini【adbyby+SS+KP ...】youku L1 /小米mini

源地址 http://www.right.com.cn/forum/thread-199452-1-1.html 最新固件通知地址: http://p4davan.80x86.io/tags/firmware/ (建议加入浏览器收藏) 2017-02-20 群里有朋友提供了L1硬件,新增加 适配 youku L1(L1C也可以),在这里可以下载&am…

2022自编译最新稳定版newifi3固件

仅添加了自己常用的功能,具体如下。另外还有一些注意事项,请务必阅读 另:2022版本与之前版本不通用,如需升级请清除数据或仅备份部分overlay文件,在刷入后覆盖 功能(针对最新版) 计划任务挂载点…

2021自编译NEWIFI3最新openwrt固件

仅添加了自己常用的功能,具体如下。另外还有一些注意事项,请务必阅读 另:2021版本与之前版本不通用,如需升级请清除数据或仅备份部分overlay文件,在刷入后覆盖 功能(针对最新版) 计划任务LED配…

路由器固件仓库广告屏蔽工具老毛子胜openwrt

1、阿呆猫http://www.admflt.com/ 我花了20买了一个Padavan固件优酷路由宝,16M256M内存。在广告屏蔽功能的第二个标签页,激活了一下adm软件。介绍中有阿呆猫的网站。更新重启就起做用了。 在电视应用中测试了一下,以前不成功BestTV&#xff0…

Adodb 官方介绍

前言 You say eether and I say eyether, You say neether and I say nyther; Eether, eyether, neether, nyther - Lets call the whole thing off ! You like potato and I like po-tah-to, You like tomato and I like to-mah-to; Potato, po-tah-to, tomato, to-mah-to - …

最新版PandoraBox潘多拉安装adbyby去广告插件图文详细教程!!

2019独角兽企业重金招聘Python工程师标准>>> 教程开始 一 安装adbyby OPENWRT 目前会支持mtk7620a、7620N和 ar7240cpu的路由,根据cpu下载相应程序 要在路由联网下进行1 进入潘多拉极客页面 系统-WebShell 对话框的光标闪烁处输入命令符 1、cd .. 2、 http://up…

openwrt广告屏蔽大师修复补丁luci-app-adbyby plus + lite

openwrt广告屏蔽大师修复补丁 目前使用方式然而有规则无法下载的通病所以可以手工拷贝随便哪里来的规则最后提示 补丁位置 : 地址 http://pan.ezdial.cn/nasone/a 备用:https://bak.ezdial.cn:8000/nasone/a 因什么值得买,在反复审核本文&…

openwrt折腾记5 广告屏蔽大师adbyby深度调优(借用老毛子完美数据文件)

广告屏蔽大师adbyby 深度调优 本文的精进起始和结局一、探索试融合试用adbyby规则文件二、对luci-app-adbyby-plus更新lazy.txt,video.txt文件脚本adbybyupdate.sh中的地址修复和维护。三、规则更新-初步探索四、规则好像也只有HTTP,简化安装流程 本文的精进 (最新提…

openwrt折腾记2-广告拦截adbyby与pass

以上两个软件都是在这个地方源 https://op.supes.top/packages/mipsel_24kc/ 访问前确认自己的openwrt cpu型号,MediaTek MT7621 从固件常用包我的是这个型号, 在这里搜索adbyby.出现两个包, 下载安装,或者 ssh入后台改https为http. opkg update opkg install http://url如…

十、Linux文件 - fread函数讲解

目录 1.fread函数讲解 2.fread函数实战 1.fread函数讲解 从文件中读入数据到指定的地址中 函数原型: size_t fread(void*buff , size_t size, size_t count , FILE* stream) /* * description :对已打开的流进行数据读取 * param ‐ ptr :指向 数据块的…

提升用户体验!专家级前端工程师如何进行前端性能优化?

作为一个前端工程师,前端性能优化是一个非常重要的领域。优化的目标是提高页面的加载速度和响应速度,以提供更好的用户体验。为了实现这个目标,我们需要考虑以下几个方面: 确定优化指标:在进行前端性能优化之前&#x…