ROC曲线的阈值确定与平衡点确定

ROC曲线实际上是多个混淆矩阵的结果组合,以疾病检测为例,这是一个有监督的二分类模型,模型对每个样本的预测结果为一个概率值,我们需要从中选取一个阈值来判断健康与否。定义好一个阈值之后,超过此阈值定义为不健康,低于此阈值定义为健康,就可以得出混淆矩阵。而如果在上述模型中没有定义好阈值,而是将模型预测结果从高到低排序(排不排序都一样,因为我们需要用作作图的TPR和FPR都是根据这些概率值计算出来的,现在不排序,等据图画图的时候也得排序),将每次概率值依次作为阈值,那么就可以得到多个混淆矩阵。对于每个混淆矩阵,我们计算两个指标TPR和FPR,以FPR为轴,TPR为y轴画图,就得到了ROC曲线。

预测/真实健康疾病
健康TPFP
疾病FNTN

在这里插入图片描述

那么ROC曲线的最优零界点怎么找呢?

在这里插入图片描述

ROC曲线越往左上靠,ROC曲线越优,于是需要找一个平衡点,这个平衡点=max(TPR-FPR)所对应的阈值。对应代码为:

maxindex = (TPR-FPR).tolist().index(max(TPR-FPR))
threshold = thresholds[maxindex]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值