RocCurveDisplay#

class sklearn.metrics.RocCurveDisplay(*, fpr, tpr, roc_auc=None, estimator_name=None, pos_label=None)[源代码]#

ROC曲线可视化。

建议使用 from_estimatorfrom_predictions 创建一个 RocCurveDisplay .所有参数都存储为属性。

阅读更多的 User Guide .

参数:
fprndarray

假阳性率。

tprndarray

True positive rate.

roc_aucfloat,默认=无

ROC曲线下面积。如果无,则不会显示roc_auc分数。

estimator_name字符串,默认=无

估算者姓名。如果无,则不会显示估计器名称。

pos_labelint、float、bool或string,默认值为无

在计算roc auc指标时,该类别被视为正类别。默认情况下, estimators.classes_[1] 被认为是积极的一类。

Added in version 0.24.

属性:
line_matplotlib艺术家

ROC曲线。

chance_level_matplotlib艺术家或无

机会水平线。是 None 如果没有绘制机会水平。

Added in version 1.3.

ax_matplotlib轴

具有ROC曲线的轴。

figure_matplotlib图

包含曲线的图形。

参见

roc_curve

计算接收器工作特性(ROC)曲线。

RocCurveDisplay.from_estimator

绘制给定估计量和一些数据的受试者工作特征(ROC)曲线。

RocCurveDisplay.from_predictions

在给定真实值和预测值的情况下绘制接收器工作特征(ROC)曲线。

roc_auc_score

计算ROC曲线下面积。

示例

>>> 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()
../../_images/sklearn-metrics-RocCurveDisplay-1.png
classmethod from_estimator(estimator, X, y, *, sample_weight=None, drop_intermediate=True, response_method='auto', pos_label=None, name=None, ax=None, plot_chance_level=False, chance_level_kw=None, despine=False, **kwargs)[源代码]#

从估计器创建ROC曲线显示。

参数:
estimator估计器实例

安装分类器或安装 Pipeline 其中最后一个估计器是分类器。

X形状(n_samples,n_features)的{类数组,稀疏矩阵}

输入值。

y形状类似阵列(n_samples,)

目标值。

sample_weight形状类似数组(n_samples,),默认=无

样本重量。

drop_intermediate布尔,默认=True

是否降低一些不会出现在绘制的ROC曲线上的次优阈值。这对于创建更亮的ROC曲线很有用。

response_method' predict_proba ',' decision_function ',' auto '} 默认='自动'

指定是否使用 predict_probadecision_function 作为目标响应。如果设置为“自动”, predict_proba 先尝试,如果不存在 decision_function 接下来将尝试。

pos_labelint、float、bool或string,默认值为无

在计算roc auc指标时,该类别被视为正类别。默认情况下, estimators.classes_[1] 被认为是积极的一类。

name字符串,默认=无

用于标记的ROC曲线的名称。如果 None ,使用估计器的名称。

axmatplotlib轴,默认=无

轴反对绘图。如果 None ,创建新图形和轴。

plot_chance_level布尔,默认=假

是否绘制机会水平。

Added in version 1.3.

chance_level_kwdict,默认=无

将传递给matplotlib的关键字参数 plot 用于渲染机会水平线。

Added in version 1.3.

despine布尔,默认=假

是否从情节中删除顶部和右侧脊柱。

Added in version 1.6.

**kwargsdict

将传递给matplotlib的关键字参数 plot .

返回:
display : RocCurveDisplayRocCurveDisplay

ROC曲线显示。

参见

roc_curve

计算接收器工作特性(ROC)曲线。

RocCurveDisplay.from_predictions

给定分类器分数的概率的ROC曲线可视化。

roc_auc_score

计算ROC曲线下面积。

示例

>>> 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()
../../_images/sklearn-metrics-RocCurveDisplay-2.png
classmethod from_predictions(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, despine=False, **kwargs)[源代码]#

给定真实值和预测值绘制ROC曲线。

阅读更多的 User Guide .

Added in version 1.0.

参数:
y_true形状类似阵列(n_samples,)

真正的标签。

y_pred形状类似阵列(n_samples,)

目标分数可以是正类别的概率估计、置信值或决策的非阈值测量(如某些分类器上的“decision_function”返回的)。

sample_weight形状类似数组(n_samples,),默认=无

样本重量。

drop_intermediate布尔,默认=True

是否降低一些不会出现在绘制的ROC曲线上的次优阈值。这对于创建更亮的ROC曲线很有用。

pos_labelint、float、bool或string,默认值为无

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字符串,默认=无

用于标记的ROC曲线名称。如果 None ,名称将设置为 "Classifier" .

axmatplotlib轴,默认=无

轴反对绘图。如果 None ,创建新图形和轴。

plot_chance_level布尔,默认=假

是否绘制机会水平。

Added in version 1.3.

chance_level_kwdict,默认=无

将传递给matplotlib的关键字参数 plot 用于渲染机会水平线。

Added in version 1.3.

despine布尔,默认=假

是否从情节中删除顶部和右侧脊柱。

Added in version 1.6.

**kwargsdict

传递给matplotlib的其他关键字参数 plot 功能

返回:
display : RocCurveDisplayRocCurveDisplay

存储计算值的对象。

参见

roc_curve

计算接收器工作特性(ROC)曲线。

RocCurveDisplay.from_estimator

给定估计器和一些数据的ROC曲线可视化。

roc_auc_score

计算ROC曲线下面积。

示例

>>> 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()
../../_images/sklearn-metrics-RocCurveDisplay-3.png
plot(ax=None, *, name=None, plot_chance_level=False, chance_level_kw=None, despine=False, **kwargs)[源代码]#

情节可视化。

额外的关键字参数将传递给matplotlib的 plot .

参数:
axmatplotlib轴,默认=无

轴反对绘图。如果 None ,创建新图形和轴。

name字符串,默认=无

用于标记的ROC曲线的名称。如果 None ,使用 estimator_name 如果不是 None 否则不显示标记。

plot_chance_level布尔,默认=假

是否绘制机会水平。

Added in version 1.3.

chance_level_kwdict,默认=无

将传递给matplotlib的关键字参数 plot 用于渲染机会水平线。

Added in version 1.3.

despine布尔,默认=假

是否从情节中删除顶部和右侧脊柱。

Added in version 1.6.

**kwargsdict

将传递给matplotlib的关键字参数 plot .

返回:
display : RocCurveDisplayRocCurveDisplay

存储计算值的对象。