Toggle Menu
Prev Up Next

scikit-learn 1.3.2
Other versions

Please cite us if you use the software.

# `sklearn.metrics`.DetCurveDisplay

class sklearn.metrics.DetCurveDisplay(*, fpr, fnr, estimator_name=None, pos_label=None)

  DET curve visualization.

  It is recommend to use `from_estimator` or `from_predictions` to create a visualizer. All parameters are stored as attributes.

  Read more in the User Guide.

  New in version 0.24.

  Parameters:
    fpr ndarray

      False positive rate.

    fnr ndarray

      False negative rate.

    estimator_name str, default=None

      Name of estimator. If None, the estimator name is not shown.

    pos_label int, 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()

  Methods

  `from_estimator`(estimator, X, y, *[, ...]) | Plot DET curve given an estimator and data.
  `from_predictions`(y_true, y_pred, *[, ...]) | Plot the DET curve given the true and predicted labels.
  `plot`([ax, name]) | Plot visualization.

  classmethod from_estimator(estimator, X, y, *, sample_weight=None, response_method='auto', pos_label=None, name=None, ax=None, **kwargs)

    Plot DET curve given an estimator and data.

    Read more in the User Guide.

    New in version 1.0.

    Parameters:
      estimator estimator 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.

      y array-like of shape (n_samples,)

        Target values.

      sample_weight array-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_label int, float, bool or str, default=None

        The label of the positive class. When `pos_label=None`, if `y_true` is in {-1, 1} or {0, 1}, `pos_label` is set to 1, otherwise an error will be raised.

      name str, default=None

        Name of DET curve for labeling. If `None`, use the name of the estimator.

      ax matplotlib axes, default=None

        Axes object to plot on. If `None`, a new figure and axes is created.

      **kwargs dict

        Additional keywords arguments passed to matplotlib `plot` function.

    Returns:
      display `DetCurveDisplay`

        Object that stores computed values.

    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)

    Plot the DET curve given the true and predicted labels.

    Read more in the User Guide.

    New in version 1.0.

    Parameters:
      y_true array-like of shape (n_samples,)

        True labels.

      y_pred array-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_weight array-like of shape (n_samples,), default=None

        Sample weights.

      pos_label int, float, bool or str, default=None

        The label of the positive class. When `pos_label=None`, if `y_true` is in {-1, 1} or {0, 1}, `pos_label` is set to 1, otherwise an error will be raised.

      name str, default=None

        Name of DET curve for labeling. If `None`, name will be set to `"Classifier"`.

      ax matplotlib axes, default=None

        Axes object to plot on. If `None`, a new figure and axes is created.

      **kwargs dict

        Additional keywords arguments passed to matplotlib `plot` function.

    Returns:
      display `DetCurveDisplay`

        Object that stores computed values.

    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)

    Plot visualization.

    Parameters:
      ax matplotlib axes, default=None

        Axes object to plot on. If `None`, a new figure and axes is created.

      name str, default=None

        Name of DET curve for labeling. If `None`, use `estimator_name` if it is not `None`, otherwise no labeling is shown.

      **kwargs dict

        Additional keywords arguments passed to matplotlib `plot` function.

    Returns:
      display `DetCurveDisplay`

        Object that stores computed values.

## Examples using `sklearn.metrics.DetCurveDisplay.from_estimator`

Detection error tradeoff (DET) curve

Detection error tradeoff (DET) curve