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

在满足FPR约束下为分类器集成寻找最大化TPR的阈值

问题描述

我拥有两个分类器,每个分类器都会输出输入为bad的概率(分数越高表示输入越可能是bad)。我用这两个分类器对100个已知good和100个已知bad的输入进行打分,结果示例如下:

>>> good_results = np.random.uniform(low=0.0, high=0.6, size=(100,2))
array([[0.02475983, 0.02674755],
       [0.28967236, 0.26380374],
       [0.0755475 , 0.42218259],
       ...

>>> bad_results = np.random.uniform(low=0.5, high=1.0, size=(100,2))
array([[0.73440053, 0.91102782],
       [0.80983753, 0.99047158],
       [0.66919376, 0.94840667],

给定分类器阈值thresholds = [t_1, t_2],若输入的任意一个分数高于对应分类器的阈值,则判定该输入为bad,判定逻辑示例如下:

input_scores = [0.2, 0.7]
is_bad_input = any([input_scores[i] >= t for i, t in enumerate(thresholds)])

我的目标是找到一组阈值,在满足假阳性率(FPR)≤2%的前提下,最大化真阳性率(TPR)。

已尝试方案

目前我采用遍历可能的阈值组合,计算对应的TPR和FPR,绘制ROC曲线后筛选出满足FPR≤2%的阈值。

需求

我认为应该存在更正式的解法,比如使用求解器库。实际场景中我有约20个分类器,以及20万条已知good和bad的校准数据,需要一个可扩展的解决方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 03:23:34