DetCurveDisplay#
- class sklearn.metrics.DetCurveDisplay(*, fpr, fnr, estimator_name=None, pos_label=None)[source]#
DET curve visualization.
It is recommend to use
from_estimator
orfrom_predictions
to create a visualizer. All parameters are stored as attributes.Read more in the User Guide.
Added in version 0.24.
- Parameters:
- fprndarray
False positive rate.
- fnrndarray
False negative rate.
- estimator_namestr, default=None
Name of estimator. If None, the estimator name is not shown.
- pos_labelint, float, bool or str, default=None
The label of the positive class.
- Attributes:
- line_matplotlib Artist
DET Curve.
- ax_matplotlib Axes
Axes with DET Curve.
- figure_matplotlib Figure
Figure containing the curve.
See also
det_curve
Compute error rates for different probability thresholds.
DetCurveDisplay.from_estimator
Plot DET curve given an estimator and some data.
DetCurveDisplay.from_predictions
Plot DET curve given the true and predicted labels.
Examples
>>> 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)[source]#
Plot DET curve given an estimator and data.
Read more in the User Guide.
Added in version 1.0.
- Parameters:
- estimatorestimator instance
Fitted classifier or a fitted
Pipeline
in which the last estimator is a classifier.- X{array-like, sparse matrix} of shape (n_samples, n_features)
Input values.
- yarray-like of shape (n_samples,)
Target values.
- sample_weightarray-like of shape (n_samples,), default=None
Sample weights.
- response_method{‘predict_proba’, ‘decision_function’, ‘auto’} default=’auto’
Specifies whether to use predict_proba or decision_function as the predicted target response. If set to ‘auto’, predict_proba is tried first and if it does not exist decision_function is tried next.
- pos_labelint, float, bool or str, default=None
The label of the positive class. When
pos_label=None
, ify_true
is in {-1, 1} or {0, 1},pos_label
is set to 1, otherwise an error will be raised.- namestr, default=None
Name of DET curve for labeling. If
None
, use the name of the estimator.- axmatplotlib axes, default=None
Axes object to plot on. If
None
, a new figure and axes is created.- **kwargsdict
Additional keywords arguments passed to matplotlib
plot
function.
- Returns:
- display
DetCurveDisplay
Object that stores computed values.
- display
See also
det_curve
Compute error rates for different probability thresholds.
DetCurveDisplay.from_predictions
Plot DET curve given the true and predicted labels.
Examples
>>> 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)[source]#
Plot the DET curve given the true and predicted labels.
Read more in the User Guide.
Added in version 1.0.
- Parameters:
- y_truearray-like of shape (n_samples,)
True labels.
- y_predarray-like of shape (n_samples,)
Target scores, can either be probability estimates of the positive class, confidence values, or non-thresholded measure of decisions (as returned by
decision_function
on some classifiers).- sample_weightarray-like of shape (n_samples,), default=None
Sample weights.
- pos_labelint, float, bool or str, default=None
The label of the positive class. When
pos_label=None
, ify_true
is in {-1, 1} or {0, 1},pos_label
is set to 1, otherwise an error will be raised.- namestr, default=None
Name of DET curve for labeling. If
None
, name will be set to"Classifier"
.- axmatplotlib axes, default=None
Axes object to plot on. If
None
, a new figure and axes is created.- **kwargsdict
Additional keywords arguments passed to matplotlib
plot
function.
- Returns:
- display
DetCurveDisplay
Object that stores computed values.
- display
See also
det_curve
Compute error rates for different probability thresholds.
DetCurveDisplay.from_estimator
Plot DET curve given an estimator and some data.
Examples
>>> 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)[source]#
Plot visualization.
- Parameters:
- axmatplotlib axes, default=None
Axes object to plot on. If
None
, a new figure and axes is created.- namestr, default=None
Name of DET curve for labeling. If
None
, useestimator_name
if it is notNone
, otherwise no labeling is shown.- **kwargsdict
Additional keywords arguments passed to matplotlib
plot
function.
- Returns:
- display
DetCurveDisplay
Object that stores computed values.
- display
Gallery examples#
Detection error tradeoff (DET) curve