ROC曲线显示#
- class sklearn.metrics.RocCurveDisplay(*, fpr, tpr, roc_auc=None, estimator_name=None, pos_label=None)[source]#
- ROC曲线可视化。 - 建议使用 - from_estimator或- from_predictions创建- RocCurveDisplay。所有参数都存储为属性。- 更多信息请参见 用户指南。 - 参数:
- fprndarray
- 假阳性率。 
- tprndarray
- 真阳性率。 
- roc_aucfloat, default=None
- ROC曲线下面积。如果为None,则不显示roc_auc分数。 
- estimator_namestr, default=None
- 估计器名称。如果为None,则不显示估计器名称。 
- pos_labelint, float, bool or str, default=None
- 计算ROC AUC指标时被认为是正类的类。默认情况下, - estimators.classes_[1]被认为是正类。- 0.24版本新增。 
 
- 属性:
- line_matplotlib Artist
- ROC曲线。 
- chance_level_matplotlib Artist or None
- 机会水平线。如果未绘制机会水平线,则为 - None。- 1.3版本新增。 
- ax_matplotlib Axes
- 包含ROC曲线的坐标轴。 
- figure_matplotlib Figure
- 包含曲线的图形。 
 
 - 另请参阅 - 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()   - 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)[source]#
- 根据估计器创建 ROC 曲线显示。 - 参数:
- estimator估计器实例
- 已拟合的分类器或已拟合的 - Pipeline(其中最后一个估计器是分类器)。
- X形状为 (n_samples, n_features) 的{数组、稀疏矩阵}
- 输入值。 
- y形状为 (n_samples,) 的数组
- 目标值。 
- sample_weight形状为 (n_samples,) 的数组,默认为 None
- 样本权重。 
- drop_intermediate布尔值,默认为 True
- 是否丢弃一些在绘制的 ROC 曲线上不会出现的次优阈值。这对于创建更轻量的 ROC 曲线很有用。 
- response_method{'predict_proba', 'decision_function', 'auto'},默认为 'auto'
- 指定是使用predict_proba还是decision_function作为目标响应。如果设置为'auto',则首先尝试predict_proba,如果不存在,则尝试decision_function。 
- pos_labelint, float, bool or str, default=None
- 计算ROC AUC指标时被认为是正类的类。默认情况下, - estimators.classes_[1]被认为是正类。
- namestr,默认为 None
- ROC 曲线的名称用于标记。如果为 - None,则使用估计器的名称。
- axmatplotlib 坐标轴,默认为 None
- 要绘制的坐标轴对象。如果为 - None,则会创建一个新的图形和坐标轴。
- plot_chance_level布尔值,默认为 False
- 是否绘制几率水平。 - 1.3版本新增。 
- chance_level_kwdict,默认为 None
- 要传递给 matplotlib 的 - plot用于渲染几率水平线的关键字参数。- 1.3版本新增。 
- despine布尔值,默认为 False
- 是否删除绘图的顶部和右侧脊柱。 - 1.6 版中新增。 
- **kwargsdict
- 要传递给 matplotlib 的 - plot的关键字参数。
 
- 返回:
- displayRocCurveDisplay
- ROC 曲线显示。 
 
- display
 - 另请参阅 - 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()   
 - 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)[source]#
- 给定真实值和预测值,绘制 ROC 曲线。 - 更多信息请参见 用户指南。 - 1.0 版中新增。 - 参数:
- y_true形状为 (n_samples,) 的数组
- 真实标签。 
- y_pred形状为 (n_samples,) 的数组
- 目标分数,可以是正类的概率估计、置信值或决策的非阈值度量(某些分类器上的“decision_function”返回)。 
- sample_weight形状为 (n_samples,) 的数组,默认为 None
- 样本权重。 
- drop_intermediate布尔值,默认为 True
- 是否丢弃一些在绘制的 ROC 曲线上不会出现的次优阈值。这对于创建更轻量的 ROC 曲线很有用。 
- pos_labelint, float, bool or str, default=None
- 正类的标签。当 - pos_label=None时,如果- y_true在{-1, 1}或{0, 1}中,- pos_label设置为1,否则会引发错误。
- namestr,默认为 None
- ROC 曲线的名称用于标记。如果为 - None,则名称将设置为- "Classifier"。
- axmatplotlib 坐标轴,默认为 None
- 要绘制的坐标轴对象。如果为 - None,则会创建一个新的图形和坐标轴。
- plot_chance_level布尔值,默认为 False
- 是否绘制几率水平。 - 1.3版本新增。 
- chance_level_kwdict,默认为 None
- 要传递给 matplotlib 的 - plot用于渲染几率水平线的关键字参数。- 1.3版本新增。 
- despine布尔值,默认为 False
- 是否删除绘图的顶部和右侧脊柱。 - 1.6 版中新增。 
- **kwargsdict
- 传递给 matplotlib - plot函数的其他关键字参数。
 
- 返回:
- displayRocCurveDisplay
- 存储计算值的 对象。 
 
- display
 - 另请参阅 - 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()   
 - plot(ax=None, *, name=None, plot_chance_level=False, chance_level_kw=None, despine=False, **kwargs)[source]#
- 绘制可视化图像。 - 额外的关键字参数将传递给 matplotlib 的 - plot函数。- 参数:
- axmatplotlib 坐标轴,默认为 None
- 要绘制的坐标轴对象。如果为 - None,则会创建一个新的图形和坐标轴。
- namestr,默认为 None
- ROC 曲线的名称,用于标注。如果为 - None,则使用- estimator_name(如果非- None),否则不显示标注。
- plot_chance_level布尔值,默认为 False
- 是否绘制几率水平。 - 1.3版本新增。 
- chance_level_kwdict,默认为 None
- 要传递给 matplotlib 的 - plot用于渲染几率水平线的关键字参数。- 1.3版本新增。 
- despine布尔值,默认为 False
- 是否删除绘图的顶部和右侧脊柱。 - 1.6 版中新增。 
- **kwargsdict
- 要传递给 matplotlib 的 - plot的关键字参数。
 
- 返回:
- displayRocCurveDisplay
- 存储计算值的 对象。 
 
- display
 
 
 
     
 
 
 
 
 
 
 
