sklearn中绘制 ROC 曲线的函数 roc_curve() 解释

ROC 曲线函数

在sklearn中,sklearn.metrics.roc_curve() 函数用于绘制ROC曲线。但是对于例子中如何得到返回值产生了疑惑,现在对于返回值的计算做一点解释。

主要参数:

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

返回值的计算

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

  • fpr:False positive rate。
  • tpr:True positive rate。
  • thresholds

下面以 sklearn 中的例子说明如何计算 fpr 和tpr。

>>> 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.5, 0.5, 1])
>>> tpr
array([0.5, 0.5, 1, 1])
>>> thresholds
array([0.8, 0.4, 0.35, 0.1])

scores = [0.1, 0.4, 0.35, 0.8],每个阈值对应一个 fpr 和 tpr。

  • 当 threshold = 0.8时:
    0.1 &lt; 0.8 0.1&lt;0.8 0.1<0.8,第一个样本预测为负样本; 0.4 &lt; 0.8 0.4&lt;0.8 0.4<0.8,第二个样本预测为负样本; 0.35 &lt; 0.8 0.35&lt;0.8 0.35<0.8,第三个样本预测为负样本; 0.8 ≥ 0.8 0.8 \geq 0.8 0.80.8,第四个样本预测为正样本。结合每个样本的真实标签,有 T P = 1 TP=1 TP=1 F P = 0 FP=0 FP=0 T N &

评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值