class_docstr: ROC Curve visualization.
  
  It is recommend to use
  :func:`~sklearn.metrics.RocCurveDisplay.from_estimator` or
  :func:`~sklearn.metrics.RocCurveDisplay.from_predictions` to create
  a :class:`~sklearn.metrics.RocCurveDisplay`. All parameters are
  stored as attributes.
  
  Read more in the :ref:`User Guide <visualizations>`.
  
  Parameters
  ----------
  fpr : ndarray
      False positive rate.
  
  tpr : ndarray
      True positive rate.
  
  roc_auc : float, default=None
      Area under ROC curve. If None, the roc_auc score is not shown.
  
  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 class considered as the positive class when computing the roc auc
      metrics. By default, `estimators.classes_[1]` is considered
      as the positive class.
  
      .. versionadded:: 0.24
  
  Attributes
  ----------
  line_ : matplotlib Artist
      ROC Curve.
  
  chance_level_ : matplotlib Artist or None
      The chance level line. It is `None` if the chance level is not plotted.
  
      .. versionadded:: 1.3
  
  ax_ : matplotlib Axes
      Axes with ROC Curve.
  
  figure_ : matplotlib Figure
      Figure containing the curve.
  
  See Also
  --------
  roc_curve : Compute Receiver operating characteristic (ROC) curve.
  RocCurveDisplay.from_estimator : Plot Receiver Operating Characteristic
      (ROC) curve given an estimator and some data.
  RocCurveDisplay.from_predictions : Plot Receiver Operating Characteristic
      (ROC) curve given the true and predicted values.
  roc_auc_score : Compute the area under the ROC curve.
  
  Examples
  --------
  >>> import matplotlib.pyplot as plt
  >>> import numpy as np
  >>> from sklearn import metrics
  >>> y = np.array([0, 0, 1, 1])
  >>> pred = np.array([0.1, 0.4, 0.35, 0.8])
  >>> fpr, tpr, thresholds = metrics.roc_curve(y, pred)
  >>> roc_auc = metrics.auc(fpr, tpr)
  >>> display = metrics.RocCurveDisplay(fpr=fpr, tpr=tpr, roc_auc=roc_auc,
  ...                                   estimator_name='example estimator')
  >>> display.plot()
  <...>
  >>> plt.show()
docstr: Plot ROC curve given the true and predicted values.
  
  Read more in the :ref:`User Guide <visualizations>`.
  
  .. versionadded:: 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.
  
  drop_intermediate : bool, default=True
      Whether to drop some suboptimal thresholds which would not appear
      on a plotted ROC curve. This is useful in order to create lighter
      ROC curves.
  
  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 ROC 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.
  
  plot_chance_level : bool, default=False
      Whether to plot the chance level.
  
      .. versionadded:: 1.3
  
  chance_level_kw : dict, default=None
      Keyword arguments to be passed to matplotlib's `plot` for rendering
      the chance level line.
  
      .. versionadded:: 1.3
  
  **kwargs : dict
      Additional keywords arguments passed to matplotlib `plot` function.
  
  Returns
  -------
  display : :class:`~sklearn.metrics.RocCurveDisplay`
      Object that stores computed values.
  
  See Also
  --------
  roc_curve : Compute Receiver operating characteristic (ROC) curve.
  RocCurveDisplay.from_estimator : ROC Curve visualization given an
      estimator and some data.
  roc_auc_score : Compute the area under the ROC curve.
  
  Examples
  --------
  >>> import matplotlib.pyplot as plt
  >>> from sklearn.datasets import make_classification
  >>> from sklearn.metrics import RocCurveDisplay
  >>> from sklearn.model_selection import train_test_split
  >>> from sklearn.svm import SVC
  >>> X, y = make_classification(random_state=0)
  >>> X_train, X_test, y_train, y_test = train_test_split(
  ...     X, y, random_state=0)
  >>> clf = SVC(random_state=0).fit(X_train, y_train)
  >>> y_pred = clf.decision_function(X_test)
  >>> RocCurveDisplay.from_predictions(
  ...    y_test, y_pred)
  <...>
  >>> plt.show()
docstr_tok: ["Plot","ROC","curve","given","the","true","and","predicted","values",".","Read","more","in","the",":","ref",":","`","User","Guide","<","visualizations",">","`",".","..","versionadded",":",":","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","\u201c","decision_function","\u201d","on","some","classifiers",")",".","sample_weight",":","array-like","of","shape","(","n_samples",",",")",",","default=None","Sample","weights",".","drop_intermediate",":","bool",",","default=True","Whether","to","drop","some","suboptimal","thresholds","which","would","not","appear","on","a","plotted","ROC","curve",".","This","is","useful","in","order","to","create","lighter","ROC","curves",".","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","ROC","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",".","plot_chance_level",":","bool",",","default=False","Whether","to","plot","the","chance","level",".","..","versionadded",":",":","1.3","chance_level_kw",":","dict",",","default=None","Keyword","arguments","to","be","passed","to","matplotlib","'s","`","plot","`","for","rendering","the","chance","level","line",".","..","versionadded",":",":","1.3","*","*","kwargs",":","dict","Additional","keywords","arguments","passed","to","matplotlib","`","plot","`","function",".","Returns","--","--","--","-","display",":",":","class",":","`","~sklearn.metrics.RocCurveDisplay","`","Object","that","stores","computed","values",".","See","Also","--","--","--","--","roc_curve",":","Compute","Receiver","operating","characteristic","(","ROC",")","curve",".","RocCurveDisplay.from_estimator",":","ROC","Curve","visualization","given","an","estimator","and","some","data",".","roc_auc_score",":","Compute","the","area","under","the","ROC","curve",".","Examples","--","--","--","--",">",">",">","import","matplotlib.pyplot","as","plt",">",">",">","from","sklearn.datasets","import","make_classification",">",">",">","from","sklearn.metrics","import","RocCurveDisplay",">",">",">","from","sklearn.model_selection","import","train_test_split",">",">",">","from","sklearn.svm","import","SVC",">",">",">","X",",","y","=","make_classification","(","random_state=0",")",">",">",">","X_train",",","X_test",",","y_train",",","y_test","=","train_test_split","(","...","X",",","y",",","random_state=0",")",">",">",">","clf","=","SVC","(","random_state=0",")",".fit","(","X_train",",","y_train",")",">",">",">","y_pred","=","clf.decision_function","(","X_test",")",">",">",">","RocCurveDisplay.from_predictions","(","...","y_test",",","y_pred",")","<","...",">",">",">",">","plt.show","(",")"]
code: def from_predictions(
      cls,
      y_true,
      y_pred,
      *,
      sample_weight=None,
      drop_intermediate=True,
      pos_label=None,
      name=None,
      ax=None,
      plot_chance_level=False,
      chance_level_kw=None,
      **kwargs,
  ):
      """Plot ROC curve given the true and predicted values.
  
      Read more in the :ref:`User Guide <visualizations>`.
  
      .. versionadded:: 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.
  
      drop_intermediate : bool, default=True
          Whether to drop some suboptimal thresholds which would not appear
          on a plotted ROC curve. This is useful in order to create lighter
          ROC curves.
  
      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 ROC 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.
  
      plot_chance_level : bool, default=False
          Whether to plot the chance level.
  
          .. versionadded:: 1.3
  
      chance_level_kw : dict, default=None
          Keyword arguments to be passed to matplotlib's `plot` for rendering
          the chance level line.
  
          .. versionadded:: 1.3
  
      **kwargs : dict
          Additional keywords arguments passed to matplotlib `plot` function.
  
      Returns
      -------
      display : :class:`~sklearn.metrics.RocCurveDisplay`
          Object that stores computed values.
  
      See Also
      --------
      roc_curve : Compute Receiver operating characteristic (ROC) curve.
      RocCurveDisplay.from_estimator : ROC Curve visualization given an
          estimator and some data.
      roc_auc_score : Compute the area under the ROC curve.
  
      Examples
      --------
      >>> import matplotlib.pyplot as plt
      >>> from sklearn.datasets import make_classification
      >>> from sklearn.metrics import RocCurveDisplay
      >>> from sklearn.model_selection import train_test_split
      >>> from sklearn.svm import SVC
      >>> X, y = make_classification(random_state=0)
      >>> X_train, X_test, y_train, y_test = train_test_split(
      ...     X, y, random_state=0)
      >>> clf = SVC(random_state=0).fit(X_train, y_train)
      >>> y_pred = clf.decision_function(X_test)
      >>> RocCurveDisplay.from_predictions(
      ...    y_test, y_pred)
      <...>
      >>> plt.show()
      """
      pos_label_validated, name = cls._validate_from_predictions_params(
          y_true,
          y_pred,
          sample_weight=sample_weight,
          pos_label=pos_label,
          name=name,
      )
  
      fpr, tpr, _ = roc_curve(
          y_true,
          y_pred,
          pos_label=pos_label,
          sample_weight=sample_weight,
          drop_intermediate=drop_intermediate,
      )
      roc_auc = auc(fpr, tpr)
  
      viz = cls(
          fpr=fpr,
          tpr=tpr,
          roc_auc=roc_auc,
          estimator_name=name,
          pos_label=pos_label_validated,
      )
  
      return viz.plot(
          ax=ax,
          name=name,
          plot_chance_level=plot_chance_level,
          chance_level_kw=chance_level_kw,
          **kwargs,
      )
  
file_path: scikit-learn/sklearn/metrics/_plot/roc_curve.py
imports: from ...utils._plotting import _BinaryClassifierCurveDisplayMixin
  from .._ranking import auc, roc_curve
label_desc: Use image node_id 4 for calling the RocCurveDisplay obj's underlying member method code with example usage: obj.from_predictions(cls, y_true, y_pred) and returns: viz