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


Python sklearn precision_recall_curve用法及代碼示例


本文簡要介紹python語言中 sklearn.metrics.precision_recall_curve 的用法。

用法:

sklearn.metrics.precision_recall_curve(y_true, probas_pred, *, pos_label=None, sample_weight=None)

針對不同的概率閾值計算precision-recall 對。

注意:此實現僅限於二進製分類任務。

精度是比率tp / (tp + fp),其中tp 是真陽性數,fp 是假陽性數。精度直觀地是分類器不將負樣本標記為正樣本的能力。

召回率是 tp / (tp + fn) 的比率,其中 tp 是真陽性數,fn 是假陰性數。召回率直觀地是分類器找到所有正樣本的能力。

最後的精度和召回值分別為 1. 和 0.,並且沒有相應的閾值。這可確保圖形從 y 軸開始。

在用戶指南中閱讀更多信息。

參數

y_truendarray 形狀 (n_samples,)

真正的二進製標簽。如果標簽不是 {-1, 1} 或 {0, 1},則應明確給出 pos_label。

probas_predndarray 形狀 (n_samples,)

目標分數,可以是正類的概率估計,也可以是決策的非閾值度量(由 decision_function 在某些分類器上返回)。

pos_labelint 或 str,默認=無

正類的標簽。當 pos_label=None 時,如果 y_true 在 {-1, 1} 或 {0, 1} 中,則 pos_label 設置為 1,否則將引發錯誤。

sample_weight形狀類似數組 (n_samples,),默認=None

樣本權重。

返回

precisionndarray 形狀 (n_thresholds + 1,)

精度值,使得元素 i 是 score >= thresholds[i] 且最後一個元素為 1 的預測的精度。

recallndarray 形狀 (n_thresholds + 1,)

減少召回值,使得元素 i 是分數 >= 閾值 [i] 的預測的召回,最後一個元素為 0。

thresholdsndarray 形狀(n_thresholds,)

增加用於計算精度和召回率的決策函數的閾值。 n_thresholds <= len(np.unique(probas_pred))。

例子

>>> import numpy as np
>>> from sklearn.metrics import precision_recall_curve
>>> y_true = np.array([0, 0, 1, 1])
>>> y_scores = np.array([0.1, 0.4, 0.35, 0.8])
>>> precision, recall, thresholds = precision_recall_curve(
...     y_true, y_scores)
>>> precision
array([0.66666667, 0.5       , 1.        , 1.        ])
>>> recall
array([1. , 0.5, 0.5, 0. ])
>>> thresholds
array([0.35, 0.4 , 0.8 ])

相關用法


注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.metrics.precision_recall_curve。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。