ROC曲线


代码

from sklearn.metrics import roc_curve,auc
import matplotlib.pyplot as plt
import random

actual = [1,1,1,0,0,0]
prediction = [0.9,0.9,0.9,0.1,0.1,0.1]

false_positive_rate,true_positive_rate,thresholds = roc_curve(actual,prediction)
roc_auc = auc(false_positive_rate,true_positive_rate)

plt.title('ROC-curve')
plt.plot(false_positive_rate,true_positive_rate,'b',label = 'AUC = %0.2f' % roc_auc)
plt.legend(loc = 'lower right')
plt.plot([0,1],[0,1],'r--')
plt.xlim([-0.1,1.2])
plt.xlim([-0.1,1.2])
plt.ylabel('True Positive Rate')
plt.xlabel('False Positive Rate')
plt.show()


说明

ROC曲线
需要提前说明的是,我们这里只讨论二值分类器。对于分类器,或者说分类算法,评价指标主要有precision,recall,F-score[^1],以及我们今天要讨论的ROC和AUC。
ROC曲线越接近左上角,该分类器的性能越好


AUC(Area Under Curve)被定义为ROC曲线下的面积,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。使用AUC值作为评价标准是因为很多时候ROC曲线并不能清晰的说明哪个分类器的效果更好,而作为一个数值,对应AUC更大的分类器效果更好。

.90-1 = very good (A)
.80-.90 = good (B)
.70-.80 = not so good (C)
.60-.70 = poor (D)
.50-.60 = fail (F)


参考

1,用sklearn绘制ROC曲线

2,ROC和AUC介绍以及如何计算AUC


内容后续再补……

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值