You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PR曲线阈值规则及sklearn average_precision计算mAP结果合理性问询

PR曲线阈值规则与sklearn average_precision接口计算行为说明

PR曲线的阈值设置规则

PR曲线的阈值没有通用的自定义统一规则,主流实现的统一逻辑为:基于输入的所有唯一预测置信度/概率值降序排列生成阈值,每个阈值对应「大于等于该阈值的样本判定为正样本,小于的判定为负样本」的分类规则,确保覆盖所有可能的分类切分点对应的精度、召回组合。

sklearn接口的计算行为判定

该计算行为符合标准实现逻辑,属于正确行为。
针对你给出的测试数据:

y_true = np.array([0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])
y_scores = np.array([ 0.7088982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

属于极端边界场景,所有正样本的预测得分均为0,仅1个负样本得分更高:

  • sklearn会自动合并相同的预测得分,最终生成0.7088982和0两个阈值
  • 阈值取0.7088982时,仅得分最高的负样本被判定为正,此时精度为0,召回为0
  • 阈值取0时,所有样本被判定为正,此时真阳性为14,假阳性为1,精度为14/(14+1)=0.93333,召回为1
  • sklearn的average_precision接口采用PR曲线下面积的标准计算逻辑,在这种相同得分批量合并的场景下,最终计算得到的面积就是0.93333,和输出结果一致。

不符合业务预期时的调整方案

如果你的使用场景不允许阈值低至0,可通过以下方式调整:

  • 手动过滤预测得分低于自定义最低阈值的样本,再传入接口计算
  • 自行实现AP计算逻辑,自行控制阈值生成规则
  • 将低于业务最低阈值的预测得分统一设置为极小值(如-1),避免接口生成过低的阈值

内容的提问来源于stack exchange,提问作者lolololo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 20:06:04