DetCurveDisplay#
- class sklearn.metrics.DetCurveDisplay(*, fpr, fnr, estimator_name=None, pos_label=None)[原始碼]#
DET 曲線視覺化。
建議使用
from_estimator
或from_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()
- 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_proba 或 decision_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
函式的其他關鍵字引數。
- 返回:
- display
DetCurveDisplay
儲存計算值的物件。
- display
另請參閱
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()
- 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
函式的其他關鍵字引數。
- 返回:
- display
DetCurveDisplay
儲存計算值的物件。
- display
另請參閱
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()
- plot(ax=None, *, name=None, **kwargs)[原始碼]#
繪製視覺化圖表。
- 參數:
- axmatplotlib 軸, default=None
要繪製的軸物件。如果
None
,則會建立新的圖表和軸。- namestr, default=None
用於標籤的 DET 曲線名稱。如果為
None
,則使用estimator_name
,如果它不是None
,否則不顯示標籤。- **kwargsdict
傳遞給 matplotlib
plot
函式的其他關鍵字引數。
- 返回:
- display
DetCurveDisplay
儲存計算值的物件。
- display