ROC-AUC的理解

ROC-AUC

AUC就是ROC曲线下面的面积,是评价二分类任务的重要指标。

ROC曲线

x轴是FPR=FP / (FP+TN)——就是预测为正(1)但是预测错了的数量 / 全部负样本(0)数量,FP / NegNum。
y轴是TPR=TP / (TP+FN)——就是预测为正并且预测正确 / 全部正样本(1)的数量,TP / PosNum。
ROC曲线是阶梯状的。

计算AUC

把p从高到低排序,然后从前往后以此作为threshold来判断预测为正还是负。依次描点计算面积。

伪代码:参考https://zhuanlan.zhihu.com/p/81202617

sort(p)
pos_num = neg_num = 0
for item in p:
	if item.label > 0:
		pos_num += 1 
	else:
		neg_num += 1
		
tp = fp = tp_next = fp_next = auc = 0
for item in p:
	if item.label > 0:
		tp_next += 1
	else:
		fp_next += 1
	auc += (tp_next / pos_num) * (fp_next / neg_num - fp / neg_num)
	fp = fp_next
	tp = tp_next

版权声明:本文为weixin_41650348原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。