二分类模型的sensitivity是否为单个值?多TPR结果如何确定模型灵敏度?
二分类Sensitivity指标问题解答
1. 二分类的sensitivity和specificity是否为单个数值?
常规二分类场景下是单个数值。
这两个指标的计算默认依赖预先明确定义的正类和负类:
- sensitivity(灵敏度/真阳性率)是正类样本被正确识别的比例,仅针对正类计算
- specificity(特异度/真阴性率)是负类样本被正确识别的比例,仅针对负类计算
你当前得到两个TPR结果,是因为你用了多分类场景的指标计算逻辑:将每个类别依次作为正类,分别计算了每个类别的召回率(单类TPR)。你使用的confusion_matrix接口返回的混淆矩阵默认按标签的自然排序排列行和列,你通过np.diag(cm)取到的是每个类别对应的真阳性样本数,因此计算得到的TPR是每个类别各自的召回率。
2. 当前结果下如何标注sensitivity值
你可以根据业务目标选择两种标注方式:
- 如果你有明确的核心识别目标(比如任务核心是识别Hot场景,将Hot定义为正类):先确认混淆矩阵的标签排列顺序,取出Hot类对应的TPR作为模型sensitivity即可。如果你的标签顺序为
[Hot, Cold],那么0.9875就是Hot为正类时的sensitivity;如果标签顺序为[Cold, Hot],则0.9541为Hot为正类时的sensitivity。 - 如果你需要同时体现两类的识别效果:不需要强行合并为单个sensitivity,直接分别标注两类的召回率即可,标注时需同步说明每类作为正类的前提,例如:
- Hot场景灵敏度(Hot为正类):0.9875
- Cold场景灵敏度(Cold为正类):0.9541
提示:标注指标时务必同步说明正类定义或混淆矩阵的标签顺序,避免产生歧义。
内容的提问来源于stack exchange,提问作者Joe
相关产品推荐
相关产品推荐

