什么是 特异度(Specificity)?

特异度(Specificity)是真实负例中被分类器正确预测为负类的比例,公式为 `TN/(TN+FP)`,也称真负率(True Negative Rate)。

快速了解

规范文档官方规范

工作原理

定义负类和分母

计算特异度必须声明哪个类别是负类,并且评测集中至少有一个真实负例;TN+FP 为零时结果无定义,不能填成零或一。当前 scikit-learn Recall 语义可通过把负类设为目标标签计算特异度,但报告仍需明确该标签与 zero_division 策略。

评估敏感度与特异度取舍

提高正类阈值通常会减少假正例并提高特异度,同时漏掉更多正例并降低敏感度。最佳操作点取决于误报成本、漏报成本、复核容量和最低安全约束。只有标签、评测人群与阈值完全相同,[假正例率](https://developers.google.com/machine-learning/crash-course/classification/accuracy-precision-recall#false_positive_rate)目标才与特异度目标互为补数。

谨慎使用多分类 One-vs-rest

计算某个类别的多分类特异度时,会把其余所有类别合并为负类。庞大的 Rest 集合可能让指标看起来极高,却掩盖目标类或某一高代价类别对的失败。应发布完整混淆矩阵与逐类结果;基础发生率、标签核验或适格范围变化后,也要重新计算,不能把历史特异度当成模型永久属性。

主要特点

  • 计算真负例占全部真实负例的比例
  • 在同一评测契约下等于一减假正例率
  • 依赖已声明负类和决策阈值
  • 评测集中没有真实负例时无定义
  • 全部预测为负类的模型也可取得满分
  • 需要结合敏感度、计数、不确定性和决策成本解释

常见用途

  1. 限制正常交易或合法消息被错误拦截
  2. 控制筛查模型引发的不必要后续检查
  3. 为安全检测设置最大误报率
  4. 在有限人工复核容量下比较阈值
  5. 按部署切片审计负类识别表现

示例

loading...
Loading code...

常见问题

特异度如何计算?

用真负例除以全部真实负例,即 `TN/(TN+FP)`。结果应同时声明负类、原始计数、阈值、样本权重、结果窗口和不确定性。评测集中没有真实负例时,特异度没有定义。

特异度与精确率有什么区别?

特异度以真实负例为条件,询问其中有多少被正确排除;精确率以预测正例为条件,询问其中有多少是真正例。两者分母不同,而且精确率会直接受到类别基础发生率影响。

特异度与假正例率是什么关系?

在标签、权重、人群和阈值相同的前提下,`Specificity=1-FPR`。特异度报告正确排除的真实负例,FPR 报告被误判为正类的真实负例;混用不同协议的结果后,二者不再能直接互补。

模型特异度很高仍可能没有用吗?

可能。把所有样本都预测为负类不会产生假正例,因此特异度为一,却会漏掉所有正例。必须结合 Recall 或 Sensitivity、Precision、原始告警量和两类错误成本一起判断。

多分类任务怎样使用特异度?

针对一个类别,把它作为正类、其余所有类别作为负类,再计算真负率。应逐类重复并保留完整多分类混淆矩阵,因为庞大的 Rest 集合可能掩盖某一项高代价类别混淆。

相关术语

相关文章