PrecisionRecallDisplay#
- class sklearn.metrics.PrecisionRecallDisplay(precision, recall, *, average_precision=None, estimator_name=None, pos_label=None, prevalence_pos_label=None)[源代码]#
精确召回可视化。
建议使用
from_estimator
或from_predictions
创建一个PrecisionRecallDisplay
.所有参数都存储为属性。阅读更多的 User Guide .
- 参数:
- precisionndarray
精确值。
- recallndarray
回忆价值观。
- average_precisionfloat,默认=无
平均精度。如果为无,则不会显示平均精度。
- estimator_name字符串,默认=无
估算者姓名。如果无,则不会显示估计器名称。
- pos_labelint、float、bool或string,默认值为无
被认为是正类的类。如果为“无”,则该类将不会显示在图例中。
Added in version 0.24.
- prevalence_pos_labelfloat,默认=无
阳性标签的普遍性。它用于绘制机会水平线。如果无,即使是
plot_chance_level
绘图时设置为True。Added in version 1.3.
- 属性:
- line_matplotlib艺术家
精确的召回曲线。
- chance_level_matplotlib艺术家或无
机会水平线。是
None
如果没有绘制机会水平。Added in version 1.3.
- ax_matplotlib轴
Axes with precision recall curve.
- figure_matplotlib图
包含曲线的图形。
参见
precision_recall_curve
Compute precision-recall pairs for different probability thresholds.
PrecisionRecallDisplay.from_estimator
给定二进制分类器绘制精确召回曲线。
PrecisionRecallDisplay.from_predictions
使用二元分类器的预测绘制精确召回曲线。
注意到
平均精度(cf.
average_precision_score
)中的scikit-learn是在没有任何插值的情况下计算的。为了与此指标保持一致,准确率-召回率曲线也在没有任何插值的情况下绘制(逐步风格)。您可以通过传递关键字参数更改此样式
drawstyle="default"
在plot
,from_estimator
,或者from_predictions
.然而,该曲线将不会与报告的平均精密度严格一致。示例
>>> import matplotlib.pyplot as plt >>> from sklearn.datasets import make_classification >>> from sklearn.metrics import (precision_recall_curve, ... PrecisionRecallDisplay) >>> 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) >>> clf.fit(X_train, y_train) SVC(random_state=0) >>> predictions = clf.predict(X_test) >>> precision, recall, _ = precision_recall_curve(y_test, predictions) >>> disp = PrecisionRecallDisplay(precision=precision, recall=recall) >>> disp.plot() <...> >>> plt.show()
- classmethod from_estimator(estimator, X, y, *, sample_weight=None, pos_label=None, drop_intermediate=False, response_method='auto', name=None, ax=None, plot_chance_level=False, chance_level_kw=None, despine=False, **kwargs)[源代码]#
给定估计器和一些数据,绘制准确率-召回率曲线。
- 参数:
- estimator估计器实例
安装分类器或安装
Pipeline
其中最后一个估计器是分类器。- X形状(n_samples,n_features)的{类数组,稀疏矩阵}
输入值。
- y形状类似阵列(n_samples,)
目标值。
- sample_weight形状类似数组(n_samples,),默认=无
样本重量。
- pos_labelint、float、bool或string,默认值为无
在计算精确度和召回指标时,该类别被视为正类别。默认情况下,
estimators.classes_[1]
被认为是积极的一类。- drop_intermediate布尔,默认=假
是否降低一些不会出现在绘制的准确率-召回曲线上的次优阈值。这对于创建更轻的精确召回曲线非常有用。
Added in version 1.3.
- response_method'预测_proba ',' decision_function ','功能',& 默认='自动'
指定是否使用 predict_proba 或 decision_function 作为目标响应。如果设置为“自动”, predict_proba 先尝试,如果不存在 decision_function 接下来将尝试。
- name字符串,默认=无
标记曲线的名称。如果
None
,未使用名称。- axmatplotlib轴,默认=无
轴反对绘图。如果
None
,创建新图形和轴。- plot_chance_level布尔,默认=假
是否绘制机会水平。机会水平是根据期间传递的数据计算出的阳性标签的流行率
from_estimator
或from_predictions
电话Added in version 1.3.
- chance_level_kwdict,默认=无
将传递给matplotlib的关键字参数
plot
用于渲染机会水平线。Added in version 1.3.
- despine布尔,默认=假
是否从情节中删除顶部和右侧脊柱。
Added in version 1.6.
- **kwargsdict
将传递给matplotlib的关键字参数
plot
.
- 返回:
参见
PrecisionRecallDisplay.from_predictions
使用估计的概率或决策函数的输出绘制准确率-召回曲线。
注意到
平均精度(cf.
average_precision_score
)中的scikit-learn是在没有任何插值的情况下计算的。为了与此指标保持一致,准确率-召回率曲线也在没有任何插值的情况下绘制(逐步风格)。您可以通过传递关键字参数更改此样式
drawstyle="default"
.然而,该曲线将不会与报告的平均精密度严格一致。示例
>>> import matplotlib.pyplot as plt >>> from sklearn.datasets import make_classification >>> from sklearn.metrics import PrecisionRecallDisplay >>> from sklearn.model_selection import train_test_split >>> from sklearn.linear_model import LogisticRegression >>> X, y = make_classification(random_state=0) >>> X_train, X_test, y_train, y_test = train_test_split( ... X, y, random_state=0) >>> clf = LogisticRegression() >>> clf.fit(X_train, y_train) LogisticRegression() >>> PrecisionRecallDisplay.from_estimator( ... clf, X_test, y_test) <...> >>> plt.show()
- classmethod from_predictions(y_true, y_pred, *, sample_weight=None, pos_label=None, drop_intermediate=False, name=None, ax=None, plot_chance_level=False, chance_level_kw=None, despine=False, **kwargs)[源代码]#
给定二进制类别预测,绘制准确率-召回率曲线。
- 参数:
- y_true形状类似阵列(n_samples,)
True binary labels.
- y_pred形状类似阵列(n_samples,)
决策函数的估计概率或输出。
- sample_weight形状类似数组(n_samples,),默认=无
样本重量。
- pos_labelint、float、bool或string,默认值为无
在计算精确度和召回指标时,该类别被视为正类别。
- drop_intermediate布尔,默认=假
是否降低一些不会出现在绘制的准确率-召回曲线上的次优阈值。这对于创建更轻的精确召回曲线非常有用。
Added in version 1.3.
- name字符串,默认=无
标记曲线的名称。如果
None
,名称将设置为"Classifier"
.- axmatplotlib轴,默认=无
轴反对绘图。如果
None
,创建新图形和轴。- plot_chance_level布尔,默认=假
是否绘制机会水平。机会水平是根据期间传递的数据计算出的阳性标签的流行率
from_estimator
或from_predictions
电话Added in version 1.3.
- chance_level_kwdict,默认=无
将传递给matplotlib的关键字参数
plot
用于渲染机会水平线。Added in version 1.3.
- despine布尔,默认=假
是否从情节中删除顶部和右侧脊柱。
Added in version 1.6.
- **kwargsdict
将传递给matplotlib的关键字参数
plot
.
- 返回:
参见
PrecisionRecallDisplay.from_estimator
使用估计器绘制准确率-召回曲线。
注意到
平均精度(cf.
average_precision_score
)中的scikit-learn是在没有任何插值的情况下计算的。为了与此指标保持一致,准确率-召回率曲线也在没有任何插值的情况下绘制(逐步风格)。您可以通过传递关键字参数更改此样式
drawstyle="default"
.然而,该曲线将不会与报告的平均精密度严格一致。示例
>>> import matplotlib.pyplot as plt >>> from sklearn.datasets import make_classification >>> from sklearn.metrics import PrecisionRecallDisplay >>> from sklearn.model_selection import train_test_split >>> from sklearn.linear_model import LogisticRegression >>> X, y = make_classification(random_state=0) >>> X_train, X_test, y_train, y_test = train_test_split( ... X, y, random_state=0) >>> clf = LogisticRegression() >>> clf.fit(X_train, y_train) LogisticRegression() >>> y_pred = clf.predict_proba(X_test)[:, 1] >>> PrecisionRecallDisplay.from_predictions( ... y_test, y_pred) <...> >>> plt.show()
- plot(ax=None, *, name=None, plot_chance_level=False, chance_level_kw=None, despine=False, **kwargs)[源代码]#
情节可视化。
额外的关键字参数将传递给matplotlib的
plot
.- 参数:
- axMatplotlib轴,默认=无
轴反对绘图。如果
None
,创建新图形和轴。- name字符串,默认=无
用于标记的精确召回曲线名称。如果
None
,使用estimator_name
如果不是None
否则不显示标记。- plot_chance_level布尔,默认=假
是否绘制机会水平。机会水平是根据期间传递的数据计算出的阳性标签的流行率
from_estimator
或from_predictions
电话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 :
PrecisionRecallDisplay
PrecisionRecallDisplay
存储计算值的对象。
- display :
注意到
平均精度(cf.
average_precision_score
)中的scikit-learn是在没有任何插值的情况下计算的。为了与此指标保持一致,准确率-召回率曲线也在没有任何插值的情况下绘制(逐步风格)。您可以通过传递关键字参数更改此样式
drawstyle="default"
.然而,该曲线将不会与报告的平均精密度严格一致。