ROC Curve visualization.
It is recommended to use from_estimator
or from_predictions
or from_cv_results
to create a RocCurveDisplay
. All parameters are stored as attributes.
For general information regarding scikit-learn
visualization tools, see the Visualization Guide. For guidance on interpreting these plots, refer to the Model Evaluation Guide.
False positive rates. Each ndarray should contain values for a single curve. If plotting multiple curves, list should be of same length as tpr
.
Changed in version 1.7: Now accepts a list for plotting multiple curves.
True positive rates. Each ndarray should contain values for a single curve. If plotting multiple curves, list should be of same length as fpr
.
Changed in version 1.7: Now accepts a list for plotting multiple curves.
Area under ROC curve, used for labeling each curve in the legend. If plotting multiple curves, should be a list of the same length as fpr
and tpr
. If None
, ROC AUC scores are not shown in the legend.
Changed in version 1.7: Now accepts a list for plotting multiple curves.
Name for labeling legend entries. The number of legend entries is determined by the curve_kwargs
passed to plot
, and is not affected by name
. To label each curve, provide a list of strings. To avoid labeling individual curves that have the same appearance, this cannot be used in conjunction with curve_kwargs
being a dictionary or None. If a string is provided, it will be used to either label the single legend entry or if there are multiple legend entries, label each individual curve with the same name. If still None
, no name is shown in the legend.
Added in version 1.7.
The class considered the positive class when ROC AUC metrics computed. If not None
, this value is displayed in the x- and y-axes labels.
Added in version 0.24.
Name of estimator. If None, the estimator name is not shown.
Deprecated since version 1.7: estimator_name
is deprecated and will be removed in 1.9. Use name
instead.
ROC Curves.
Changed in version 1.7: This attribute can now be a list of Artists, for when multiple curves are plotted.
The chance level line. It is None
if the chance level is not plotted.
Added in version 1.3.
Axes with ROC Curve.
Figure containing the curve.
Examples
>>> import matplotlib.pyplot as plt >>> import numpy as np >>> from sklearn import metrics >>> y_true = np.array([0, 0, 1, 1]) >>> y_score = np.array([0.1, 0.4, 0.35, 0.8]) >>> fpr, tpr, thresholds = metrics.roc_curve(y_true, y_score) >>> roc_auc = metrics.auc(fpr, tpr) >>> display = metrics.RocCurveDisplay(fpr=fpr, tpr=tpr, roc_auc=roc_auc, ... name='example estimator') >>> display.plot() <...> >>> plt.show()
Create a multi-fold ROC curve display given cross-validation results.
Added in version 1.7.
Dictionary as returned by cross_validate
using return_estimator=True
and return_indices=True
(i.e., dictionary should contain the keys “estimator” and “indices”).
Input values.
Target values.
Sample weights.
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.
Specifies whether to use predict_proba or decision_function as the target response. If set to ‘auto’, predict_proba is tried first and if it does not exist decision_function is tried next.
The class considered as the positive class when computing the ROC AUC metrics. By default, estimators.classes_[1]
is considered as the positive class.
Axes object to plot on. If None
, a new figure and axes is created.
Name for labeling legend entries. The number of legend entries is determined by curve_kwargs
, and is not affected by name
. To label each curve, provide a list of strings. To avoid labeling individual curves that have the same appearance, this cannot be used in conjunction with curve_kwargs
being a dictionary or None. If a string is provided, it will be used to either label the single legend entry or if there are multiple legend entries, label each individual curve with the same name. If None
, no name is shown in the legend.
Keywords arguments to be passed to matplotlib’s plot
function to draw individual ROC curves. If a list is provided the parameters are applied to the ROC curves of each CV fold sequentially and a legend entry is added for each curve. If a single dictionary is provided, the same parameters are applied to all ROC curves and a single legend entry for all curves is added, labeled with the mean ROC AUC score.
Whether to plot the chance level.
Keyword arguments to be passed to matplotlib’s plot
for rendering the chance level line.
Whether to remove the top and right spines from the plot.
RocCurveDisplay
The multi-fold ROC curve display.
Examples
>>> import matplotlib.pyplot as plt >>> from sklearn.datasets import make_classification >>> from sklearn.metrics import RocCurveDisplay >>> from sklearn.model_selection import cross_validate >>> from sklearn.svm import SVC >>> X, y = make_classification(random_state=0) >>> clf = SVC(random_state=0) >>> cv_results = cross_validate( ... clf, X, y, cv=3, return_estimator=True, return_indices=True) >>> RocCurveDisplay.from_cv_results(cv_results, X, y) <...> >>> plt.show()
Create a ROC Curve display from an estimator.
For general information regarding scikit-learn
visualization tools, see the Visualization Guide. For guidance on interpreting these plots, refer to the Model Evaluation Guide.
Fitted classifier or a fitted Pipeline
in which the last estimator is a classifier.
Input values.
Target values.
Sample weights.
Whether to drop thresholds where the resulting point is collinear with its neighbors in ROC space. This has no effect on the ROC AUC or visual shape of the curve, but reduces the number of plotted points.
Specifies whether to use predict_proba or decision_function as the target response. If set to ‘auto’, predict_proba is tried first and if it does not exist decision_function is tried next.
The class considered as the positive class when computing the ROC AUC. By default, estimators.classes_[1]
is considered as the positive class.
Name of ROC Curve for labeling. If None
, use the name of the estimator.
Axes object to plot on. If None
, a new figure and axes is created.
Keywords arguments to be passed to matplotlib’s plot
function.
Added in version 1.7.
Whether to plot the chance level.
Added in version 1.3.
Keyword arguments to be passed to matplotlib’s plot
for rendering the chance level line.
Added in version 1.3.
Whether to remove the top and right spines from the plot.
Added in version 1.6.
Keyword arguments to be passed to matplotlib’s plot
.
Deprecated since version 1.7: kwargs is deprecated and will be removed in 1.9. Pass matplotlib arguments to curve_kwargs
as a dictionary instead.
RocCurveDisplay
The ROC Curve display.
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) >>> RocCurveDisplay.from_estimator( ... clf, X_test, y_test) <...> >>> plt.show()
Plot ROC curve given the true and predicted values.
For general information regarding scikit-learn
visualization tools, see the Visualization Guide. For guidance on interpreting these plots, refer to the Model Evaluation Guide.
Added in version 1.0.
True labels.
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).
Added in version 1.7: y_pred
has been renamed to y_score
.
Sample weights.
Whether to drop thresholds where the resulting point is collinear with its neighbors in ROC space. This has no effect on the ROC AUC or visual shape of the curve, but reduces the number of plotted points.
The label of the positive class when computing the ROC AUC. 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 of ROC curve for legend labeling. If None
, name will be set to "Classifier"
.
Axes object to plot on. If None
, a new figure and axes is created.
Keywords arguments to be passed to matplotlib’s plot
function.
Added in version 1.7.
Whether to plot the chance level.
Added in version 1.3.
Keyword arguments to be passed to matplotlib’s plot
for rendering the chance level line.
Added in version 1.3.
Whether to remove the top and right spines from the plot.
Added in version 1.6.
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).
Deprecated since version 1.7: y_pred
is deprecated and will be removed in 1.9. Use y_score
instead.
Additional keywords arguments passed to matplotlib plot
function.
Deprecated since version 1.7: kwargs is deprecated and will be removed in 1.9. Pass matplotlib arguments to curve_kwargs
as a dictionary instead.
RocCurveDisplay
Object that stores computed values.
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_score = clf.decision_function(X_test) >>> RocCurveDisplay.from_predictions(y_test, y_score) <...> >>> plt.show()
Plot visualization.
Axes object to plot on. If None
, a new figure and axes is created.
Name for labeling legend entries. The number of legend entries is determined by curve_kwargs
, and is not affected by name
. To label each curve, provide a list of strings. To avoid labeling individual curves that have the same appearance, this cannot be used in conjunction with curve_kwargs
being a dictionary or None. If a string is provided, it will be used to either label the single legend entry or if there are multiple legend entries, label each individual curve with the same name. If None
, set to name
provided at RocCurveDisplay
initialization. If still None
, no name is shown in the legend.
Added in version 1.7.
Keywords arguments to be passed to matplotlib’s plot
function to draw individual ROC curves. For single curve plotting, should be a dictionary. For multi-curve plotting, if a list is provided the parameters are applied to the ROC curves of each CV fold sequentially and a legend entry is added for each curve. If a single dictionary is provided, the same parameters are applied to all ROC curves and a single legend entry for all curves is added, labeled with the mean ROC AUC score.
Added in version 1.7.
Whether to plot the chance level.
Added in version 1.3.
Keyword arguments to be passed to matplotlib’s plot
for rendering the chance level line.
Added in version 1.3.
Whether to remove the top and right spines from the plot.
Added in version 1.6.
Keyword arguments to be passed to matplotlib’s plot
.
Deprecated since version 1.7: kwargs is deprecated and will be removed in 1.9. Pass matplotlib arguments to curve_kwargs
as a dictionary instead.
RocCurveDisplay
Object that stores computed values.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4