敏感性与特异性介绍

本文深入探讨了敏感性与特异性在疾病诊断中的应用,解释了它们与查准率和查全率的区别,通过真阳性、真阴性、假阳性和假阴性的概念,详细阐述了这些指标如何帮助评估诊断测试的准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

敏感性与特异性

敏感性特异性虽然与查准率查全率相似,但并不相同。其定义如下:

在癌症示例中,敏感性和特异性指:

  • 敏感性:在患有癌症的所有人中,诊断正确的人有多少?
  • 特异性:在未患癌症的所有人中,诊断正确的人有多少?

查准率和查全率的定义如下:

  • 查准率:在被诊断患有癌症的所有人中,多少人确实得了癌症
  • 查全率:在患有癌症的所有人中,多少人被诊断患有癌症?

从这里可以看出,敏感性就是查全率,但特异性并不是查准率。

敏感性和特异性是这个矩阵中的行。更具体地说,如果我们做以下标记

  • TP:(真阳性)被正确诊断为患病的病人。
  • TN:(真阴性)被正确诊断为健康的健康人。
  • FP:(假阳性)被错误诊断为患病的健康人。
  • FN:(假阴性)被错误诊断为健康的病人。

那么:

敏感性 = \frac{TP}{TP + FN}=TP+FNTP​

特异性 = \frac{TN}{TN + FP}=TN+FPTN​。

敏感性和特异性

                                                                        敏感性和特异性

查准率和查全率是矩阵的第一行和第一列:

查全率 = \frac{TP}{TP + FN}=TP+FNTP​

查准率 = \frac{TP}{TP + FP}=TP+FPTP​。

查准率和查全率

                                                                             查准率和查全率

引用来自udacity------------------------

### 计算敏感性特异性的Python代码 为了计算二分类模型的敏感性特异性,可以利用`sklearn.metrics.confusion_matrix`来获取混淆矩阵,并基于此进一步计算所需的统计量。下面是一个完整的例子,展示了如何实现这一点。 ```python from sklearn import metrics import numpy as np def calculate_sensitivity_specificity(y_true, y_pred): cm = metrics.confusion_matrix(y_true, y_pred) TN = cm[0][0] FP = cm[0][1] FN = cm[1][0] TP = cm[1][1] sensitivity = TP / (TP + FN) # Sensitivity or True Positive Rate specificity = TN / (TN + FP) # Specificity or True Negative Rate return sensitivity, specificity # 假设y_true是真实的标签列表,y_scores是从模型得到的概率分数. y_true = [0, 1, 0, 1, 1, 0, 1, 0] y_scores = [0.1, 0.4, 0.35, 0.8, 0.6, 0.2, 0.7, 0.5] # 将概率转换成预测类别(这里简单地以0.5作为阈值). threshold = 0.5 y_pred = [1 if score >= threshold else 0 for score in y_scores] sensitivity, specificity = calculate_sensitivity_specificity(np.array(y_true), np.array(y_pred)) print(f"Sensitivity: {sensitivity:.2f}, Specificity: {specificity:.2f}") ``` 上述代码定义了一个名为`calculate_sensitivity_specificity`的功能函数,它接受两个参数——实际类标号(`y_true`)预测类标号(`y_pred`),并返回敏感性特异性这两个性能指标[^1]。 对于更复杂的场景,比如想要获得不同决策边界下的敏感性特异性变化情况,则可以通过调整阈值重新执行预测过程,或者直接使用`roc_curve`工具来一次性取得一系列不同的FPR(假阳性率)TPR(真阳性率),进而间接推导出特定阈值处的特异性敏感性[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值