當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。