RocCurveDisplay#
- class sklearn.metrics.RocCurveDisplay(*, fpr, tpr, roc_auc=None, estimator_name=None, pos_label=None)#
ROC曲线可视化。
建议使用
from_estimator
或from_predictions
来创建 一个RocCurveDisplay
。所有参数都 存储为属性。更多信息请参阅 用户指南 。
- Parameters:
- fprndarray
假阳性率。
- tprndarray
真阳性率。
- roc_aucfloat, 默认=None
ROC曲线下的面积。如果为None,则不显示roc_auc分数。
- estimator_namestr, 默认=None
估计器的名称。如果为None,则不显示估计器名称。
- pos_labelint, float, bool 或 str, 默认=None
在计算roc auc指标时被视为正类的类别。默认情况下,
estimators.classes_[1]
被视为正类。Added in version 0.24.
- Attributes:
- line_matplotlib Artist
ROC曲线。
- chance_level_matplotlib Artist 或 None
机会水平线。如果未绘制机会水平线,则为
None
。Added in version 1.3.
- ax_matplotlib Axes
带有ROC曲线的Axes。
- figure_matplotlib Figure
包含曲线的Figure。
See also
roc_curve
计算接收者操作特征(ROC)曲线。
RocCurveDisplay.from_estimator
给定一个估计器和一些数据,绘制接收者操作特征(ROC)曲线。
RocCurveDisplay.from_predictions
给定真实值和预测值,绘制接收者操作特征(ROC)曲线。
roc_auc_score
计算ROC曲线下的面积。
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()
- 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, **kwargs)#
创建一个从估计器生成的ROC曲线显示。
- Parameters:
- estimator估计器实例
拟合的分类器或拟合的
Pipeline
, 其中最后一个估计器是分类器。- X{array-like, sparse matrix} 形状为 (n_samples, n_features)
输入值。
- yarray-like 形状为 (n_samples,)
目标值。
- sample_weightarray-like 形状为 (n_samples,), 默认=None
样本权重。
- drop_intermediatebool, 默认=True
是否删除一些次优阈值,这些阈值在绘制的ROC曲线上不会出现。 这对于创建更轻量的ROC曲线很有用。
- response_method{‘predict_proba’, ‘decision_function’, ‘auto’} 默认=’auto’
指定使用 predict_proba 还是 decision_function 作为目标响应。 如果设置为 ‘auto’,首先尝试 predict_proba ,如果不存在则尝试 decision_function 。
- pos_labelint, float, bool 或 str, 默认=None
在计算roc auc指标时被视为正类的类别。默认情况下,
estimators.classes_[1]
被视为正类。- namestr, 默认=None
ROC曲线的名称用于标签。如果为
None
,使用估计器的名称。- axmatplotlib axes, 默认=None
要绘制的轴对象。如果为
None
,则创建一个新的图形和轴。- plot_chance_levelbool, 默认=False
是否绘制机会水平。
Added in version 1.3.
- chance_level_kwdict, 默认=None
传递给matplotlib的
plot
以渲染机会水平线的关键字参数。Added in version 1.3.
- **kwargsdict
传递给matplotlib的
plot
的关键字参数。
- Returns:
- display
RocCurveDisplay
ROC曲线显示。
- display
See also
roc_curve
计算接收者操作特征(ROC)曲线。
RocCurveDisplay.from_predictions
给定分类器分数概率的ROC曲线可视化。
roc_auc_score
计算ROC曲线下面积。
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()
- 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, **kwargs)#
绘制给定真实值和预测值的ROC曲线。
更多信息请参阅 用户指南 。
Added in version 1.0.
- Parameters:
- y_truearray-like of shape (n_samples,)
真实标签。
- y_predarray-like of shape (n_samples,)
目标分数,可以是正类的概率估计、置信值或无阈值的决策度量(如某些分类器中的“decision_function”返回的值)。
- sample_weightarray-like of shape (n_samples,), default=None
样本权重。
- drop_intermediatebool, default=True
是否丢弃一些次优阈值,这些阈值在绘制的ROC曲线上不会出现。这有助于创建更轻量的ROC曲线。
- pos_labelint, float, bool or str, default=None
正类的标签。当
pos_label=None
时,如果y_true
在 {-1, 1} 或 {0, 1} 中,pos_label
设置为 1,否则将引发错误。- namestr, default=None
ROC曲线的名称,用于标注。如果为
None
,名称将设置为"Classifier"
。- axmatplotlib axes, default=None
要绘制的轴对象。如果为
None
,将创建一个新的图形和轴。- plot_chance_levelbool, default=False
是否绘制机会水平线。
Added in version 1.3.
- chance_level_kwdict, default=None
传递给 matplotlib 的
plot
以渲染机会水平线的关键字参数。Added in version 1.3.
- **kwargsdict
传递给 matplotlib
plot
函数的其他关键字参数。
- Returns:
- display
RocCurveDisplay
存储计算值的对象。
- display
See also
roc_curve
计算接收者操作特征(ROC)曲线。
RocCurveDisplay.from_estimator
给定估计器和数据的可视化ROC曲线。
roc_auc_score
计算ROC曲线下面积。
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()
- plot(ax=None, *, name=None, plot_chance_level=False, chance_level_kw=None, **kwargs)#
绘图可视化。
额外的关键字参数将被传递给matplotlib的
plot
。- Parameters:
- axmatplotlib轴,默认=None
要在其上绘制的轴对象。如果为
None
,则创建一个新的图形和轴。- namestr, 默认=None
ROC曲线的名称,用于标签。如果为
None
,则使用estimator_name
(如果estimator_name
不为None
),否则不显示标签。- plot_chance_levelbool, 默认=False
是否绘制机会水平。
Added in version 1.3.
- chance_level_kwdict, 默认=None
传递给matplotlib的
plot
以渲染机会水平线的关键字参数。Added in version 1.3.
- **kwargsdict
传递给matplotlib的
plot
的关键字参数。
- Returns:
- display
RocCurveDisplay
存储计算值的对象。
- display