当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python sklearn roc_curve用法及代码示例


本文简要介绍python语言中 sklearn.metrics.roc_curve 的用法。

用法:

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

计算接收器操作特性 (ROC)。

注意:此实现仅限于二进制分类任务。

在用户指南中阅读更多信息。

参数

y_truendarray 形状 (n_samples,)

真正的二进制标签。如果标签不是 {-1, 1} 或 {0, 1},则应明确给出 pos_label。

y_scorendarray 形状 (n_samples,)

目标分数,可以是正类的概率估计、置信度值或决策的非阈值度量(如在某些分类器上由 “decision_function” 返回)。

pos_labelint 或 str,默认=无

正类的标签。当 pos_label=None 时,如果 y_true 在 {-1, 1} 或 {0, 1} 中,则 pos_label 设置为 1,否则将引发错误。

sample_weight形状类似数组 (n_samples,),默认=None

样本权重。

drop_intermediate布尔,默认=真

是否删除一些不会出现在绘制的 ROC 曲线上的次优阈值。这对于创建更轻的 ROC 曲线很有用。

返回

fprndarray 形状 (>2,)

增加误报率,使得元素 i 是分数 >= thresholds[i] 的预测的误报率。

tprndarray 形状 (>2,)

增加真阳性率,使得元素 i 是分数 >= thresholds[i] 的预测的真阳性率。

thresholdsndarray 形状 = (n_thresholds,)

降低用于计算 fpr 和 tpr 的决策函数的阈值。 thresholds[0] 表示没有实例被预测并且被任意设置为 max(y_score) + 1

注意

由于阈值是从低值到高值排序的,因此在返回它们时它们会被反转,以确保它们对应于 fprtpr ,它们在计算过程中以相反的顺序排序。

参考

1

接收器操作特性的维基百科条目

2

Fawcett T. ROC 分析导论[J].模式识别快报,2006,27(8):861-874。

例子

>>> 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 ])

相关用法


注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.metrics.roc_curve。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。