ROC曲线以及AUC值

ROC曲线以及AUC值

ROC 曲线(接收者操作特征曲线)是一种显示分类模型在所有分类阈值下的效果的图表。该曲线绘制了以下两个参数:

真正例率 :将实际正的预测为正的占实际正的比例
假正例率:将实际负的预测正的占实际负的比例

在这里插入图片描述
真正例率
在这里插入图片描述
假正例率
在这里插入图片描述
阈值:
用于程序判断实例是正是负的临界值。

实例

sklearn.metrics.roc_curve(y_true,y_score,*,pos_label = None,sample_weight = None,drop_intermediate = True)

参数

y_true:真实的样本标签,默认为{0,1}或者{-1,1}。如果要设置为其它值,则 pos_label 参数要设置为特定值。例如要令样本标签为{1,2},其中2表示正样本,则pos_label=2。
y_score:对每个样本的预测结果。
pos_label:正样本的标签。

返回值,roc_curve() 函数有3个返回值:

fpr:假正例率
tpr:真正例率
thresholds:阈值

>>> import numpy as np
>>> from sklearn import metrics
>>> y = np.array([1, 1, 2, 2])
>>> scores = np.array([0.1, 0.4, 0.35, 0.8])
>>> fpr, tpr, thresholds = metrics.roc_curve(y, scores, pos_label=2)
>>> fpr
array([0. , 0. , 0.5, 0.5, 1. ])
>>> tpr
array([0. , 0.5, 0.5, 1. , 1. ])
>>> thresholds
array([1.8 , 0.8 , 0.4 , 0.35, 0.1 ])

在上面实例中,假设2表示正,1表示负,则 T P + F N = 2 ; F P + T N = 2 TP + FN = 2;FP + TN = 2 TP+FN=2;FP+TN=2
1、当阈值取1.8时
T P = 0 F P = 0 所 以 f p r 0 = ; t p r = 0 TP = 0 \\ FP = 0 \\ 所以fpr0=;tpr=0 TP=0FP=0fpr0=tpr=0

2、当阈值取0.8时,第二个2被预测为正
T P = 1 F P = 0 所 以 f p r = 0 ; t p r = 0.5 TP = 1 \\ FP = 0 \\ 所以fpr=0;tpr=0.5 TP=1FP=0fpr=0tpr=0.5

3、当阈值取0.4时,第二个1被预测为正,
T P = 1 F P = 1 所 以 f p r = 0.5 ; t p r = 0.5 TP = 1 \\ FP = 1 \\ 所以fpr=0.5;tpr=0.5 TP=1FP=1fpr=0.5tpr=0.5

3、当阈值取0.35时,两个2都被预测为正,再加上第二个1被预测为正
T P = 2 F P = 1 所 以 f p r = 0.5 ; t p r = 1 TP = 2 \\ FP = 1 \\ 所以fpr=0.5;tpr=1 TP=2FP=1fpr=0.5tpr=1

3、当阈值取0.35时,所有都预测为2了
T P = 2 F P = 2 所 以 f p r = 1 ; t p r = 1 TP = 2 \\ FP = 2 \\ 所以fpr=1;tpr=1 TP=2FP=2fpr=1tpr=1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值