DetCurveDisplay#

class sklearn.metrics.DetCurveDisplay(*, fpr, fnr, estimator_name=None, pos_label=None)[原始碼]#

DET 曲線視覺化。

建議使用 from_estimatorfrom_predictions 來建立視覺化工具。所有參數都儲存為屬性。

請參閱使用者指南以了解更多資訊。

在 0.24 版本中新增。

參數:
fprndarray

偽陽性率。

fnrndarray

偽陰性率。

estimator_namestr, default=None

估計器的名稱。如果為 None,則不顯示估計器名稱。

pos_labelint, float, bool 或 str, default=None

正類別的標籤。

屬性:
line_matplotlib Artist

DET 曲線。

ax_matplotlib Axes

具有 DET 曲線的軸。

figure_matplotlib Figure

包含曲線的圖表。

另請參閱

det_curve

計算不同機率閾值的錯誤率。

DetCurveDisplay.from_estimator

繪製給定估計器和一些資料的 DET 曲線。

DetCurveDisplay.from_predictions

繪製給定真實和預測標籤的 DET 曲線。

範例

>>> import matplotlib.pyplot as plt
>>> from sklearn.datasets import make_classification
>>> from sklearn.metrics import det_curve, DetCurveDisplay
>>> from sklearn.model_selection import train_test_split
>>> from sklearn.svm import SVC
>>> X, y = make_classification(n_samples=1000, random_state=0)
>>> X_train, X_test, y_train, y_test = train_test_split(
...     X, y, test_size=0.4, random_state=0)
>>> clf = SVC(random_state=0).fit(X_train, y_train)
>>> y_pred = clf.decision_function(X_test)
>>> fpr, fnr, _ = det_curve(y_test, y_pred)
>>> display = DetCurveDisplay(
...     fpr=fpr, fnr=fnr, estimator_name="SVC"
... )
>>> display.plot()
<...>
>>> plt.show()
../../_images/sklearn-metrics-DetCurveDisplay-1.png
classmethod from_estimator(estimator, X, y, *, sample_weight=None, response_method='auto', pos_label=None, name=None, ax=None, **kwargs)[原始碼]#

繪製給定估計器和資料的 DET 曲線。

請參閱使用者指南以了解更多資訊。

在 1.0 版本中新增。

參數:
estimator估計器實例

已擬合的分類器或已擬合的 Pipeline,其中最後一個估計器是分類器。

X{array-like, sparse matrix} 形狀為 (n_samples, n_features)

輸入值。

y形狀為 (n_samples,) 的類陣列

目標值。

sample_weight形狀為 (n_samples,) 的類陣列, default=None

樣本權重。

response_method{‘predict_proba’, ‘decision_function’, ‘auto’} default=’auto’

指定要使用 predict_probadecision_function 作為預測的目標回應。如果設定為 ‘auto’,則首先嘗試 predict_proba,如果不存在,則嘗試 decision_function

pos_labelint, float, bool 或 str, default=None

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

namestr, default=None

用於標記的 DET 曲線名稱。如果 None,則使用估計器的名稱。

axmatplotlib 軸, default=None

要繪製的軸物件。如果 None,則會建立新的圖表和軸。

**kwargsdict

傳遞給 matplotlib plot 函式的其他關鍵字引數。

返回:
displayDetCurveDisplay

儲存計算值的物件。

另請參閱

det_curve

計算不同機率閾值的錯誤率。

DetCurveDisplay.from_predictions

繪製給定真實和預測標籤的 DET 曲線。

範例

>>> import matplotlib.pyplot as plt
>>> from sklearn.datasets import make_classification
>>> from sklearn.metrics import DetCurveDisplay
>>> from sklearn.model_selection import train_test_split
>>> from sklearn.svm import SVC
>>> X, y = make_classification(n_samples=1000, random_state=0)
>>> X_train, X_test, y_train, y_test = train_test_split(
...     X, y, test_size=0.4, random_state=0)
>>> clf = SVC(random_state=0).fit(X_train, y_train)
>>> DetCurveDisplay.from_estimator(
...    clf, X_test, y_test)
<...>
>>> plt.show()
../../_images/sklearn-metrics-DetCurveDisplay-2.png
classmethod from_predictions(y_true, y_pred, *, sample_weight=None, pos_label=None, name=None, ax=None, **kwargs)[原始碼]#

繪製給定真實和預測標籤的 DET 曲線。

請參閱使用者指南以了解更多資訊。

在 1.0 版本中新增。

參數:
y_true形狀為 (n_samples,) 的類陣列

真實標籤。

y_pred形狀為 (n_samples,) 的類陣列

目標分數,可以是正類別的機率估計、信賴值,或決策的非閾值量度(如某些分類器上的 decision_function 所回傳的)。

sample_weight形狀為 (n_samples,) 的類陣列, default=None

樣本權重。

pos_labelint, float, bool 或 str, default=None

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

namestr, default=None

用於標籤的 DET 曲線名稱。如果為 None,名稱將設定為 "Classifier"

axmatplotlib 軸, default=None

要繪製的軸物件。如果 None,則會建立新的圖表和軸。

**kwargsdict

傳遞給 matplotlib plot 函式的其他關鍵字引數。

返回:
displayDetCurveDisplay

儲存計算值的物件。

另請參閱

det_curve

計算不同機率閾值的錯誤率。

DetCurveDisplay.from_estimator

繪製給定估計器和一些資料的 DET 曲線。

範例

>>> import matplotlib.pyplot as plt
>>> from sklearn.datasets import make_classification
>>> from sklearn.metrics import DetCurveDisplay
>>> from sklearn.model_selection import train_test_split
>>> from sklearn.svm import SVC
>>> X, y = make_classification(n_samples=1000, random_state=0)
>>> X_train, X_test, y_train, y_test = train_test_split(
...     X, y, test_size=0.4, random_state=0)
>>> clf = SVC(random_state=0).fit(X_train, y_train)
>>> y_pred = clf.decision_function(X_test)
>>> DetCurveDisplay.from_predictions(
...    y_test, y_pred)
<...>
>>> plt.show()
../../_images/sklearn-metrics-DetCurveDisplay-3.png
plot(ax=None, *, name=None, **kwargs)[原始碼]#

繪製視覺化圖表。

參數:
axmatplotlib 軸, default=None

要繪製的軸物件。如果 None,則會建立新的圖表和軸。

namestr, default=None

用於標籤的 DET 曲線名稱。如果為 None,則使用 estimator_name,如果它不是 None,否則不顯示標籤。

**kwargsdict

傳遞給 matplotlib plot 函式的其他關鍵字引數。

返回:
displayDetCurveDisplay

儲存計算值的物件。