AUC计算 - 手把手步进操作

本文详细介绍了用于评估二分类模型性能的ROC曲线及其衍生指标AUC的概念与计算方法,并通过实例展示了不同阈值下TPR与FPR的变化过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2017-07-10 14:38:24


理论参考: 

评估分类器性能的度量,像混淆矩阵、ROC、AUC等

http://www.cnblogs.com/suanec/p/5941630.html

 

ROC全称:receiver operation characters,适用于二分类。

同理可得由ROC曲线计算的AUC,适用于二分类。

计算AUC需要知道这个表格:

 实际正样本实际负样本
预测正样本正样本正确数正样本错误数
预测负样本负样本错误数负样本正确数

其中实际正样本常被成为Positive,实际负样本常被成为Negative。

对应的表格中数据分别为True Positive、False Positive、True Negative、False Negative。

对应的概率Rate,分别为TPR、FPR、TNR、FNR。

其中TPR=TP/P、FPR=FP/N,绘制ROC,主要使用TPR和FPR。

使用网上的例子:

模型预测情况与实际类标情况:

由以上绘制的ROC曲线及各点取值。

 

 

 

 当阈值自高向低取,分别为0.9、0.8、0.7、0.6、0.55。

0.9:TPR:0.1,FPR:0

0.8:TPR:0.2,FPR:0

0.7:TPR:0.2,FPR:0.1

0.6:TPR:0.3,FPR:0.1

0.55:TPR:0.4,FPR:0.1

按照取值绘制ROC图线,计算图线下面积即可得AUC。

其中:以0.7举例TRP和FPR如何统计:

当阈值为0.7时,可得模型将1、2、3样本分为了正样本,其他为负样本。

1、2、3中正样本正确了两个。

TPR:正样本正确率为正样本正确数目/所有正样本数目:2/10=0.2。

FPR:正样本错误率为正样本错误数目/所有负样本数目:1/10=0.1。

 

那么在0.7为阈值可以绘制ROC曲线点:(0.1,0.2)。

以此类推。绘制多个阈值下的ROC曲线点,可得ROC曲线的近似值。(因为阈值取值数量有限,故ROC为近似值)

计算AUC:

因为ROC曲线近似,可以利用矩阵面积加和得到面积和。(计算AUC面积和,就可以按个人喜好计算了,spark mllib中的AUC是按坐标取值计算连线形成梯形的面积加和。个人感觉按纵轴计算矩阵面积实现更容易一些,但精度有损失。)

当ROC为精确时,需要积分。仅存于理论层面。

转载于:https://www.cnblogs.com/suanec/p/7145866.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值