sklearn.metrics.precision_recall_curve

sklearn.metrics.precision_recall_curve(y_true, probas_pred, *, pos_label=None, sample_weight=None)

[源码]

计算不同概率阈值的精确召回对

注意:此实现仅限于二进制分类任务。

精度是tp /(tp + fp)的比率,其中tp是真正例的数目,fp是假正例的数目。从直觉上讲,精度是分类器不将负例样本标记为正例的能力。

召回率是tp /(tp + fn)的比率,其中tp是真正例的数目,fn是假负例的数目。直观上,召回是分类器找到所有正例样本的能力。

最后的精度和召回值分别为1.和0,并且没有相应的阈值。这样可以确保图形从y轴开始。

用户指南中阅读更多内容。

参数 说明
y_true array, shape = [n_samples]
真正的二进制标签。 如果标签既不是{-1,1}也不是{0,1},则应该明确给出pos_label。
probas_pred array, shape = [n_samples]
估计的概率或决策函数。
pos_label int or str, default=None
正例类别的标签。当pos_label = None时,如果y_true在{-1,1}或{0,1}中,则pos_label设置为1,否则将引发错误。
sample_weight array-like of shape (n_samples,), default=None
样本权重。
返回值 说明
precision array, shape = [n_thresholds + 1]
精度值,以使元素i为score>=thresholds [i]且最后一个元素为1的预测精度。
recall array, shape = [n_thresholds + 1]
降低召回值使元素i为score> = thresholds [i]且最后一个元素为0的预测的召回。
thresholds array, shape = [n_thresholds <= len(np.unique(probas_pred))]
用于计算精度和召回率的决策函数的阈值不断增加。

另见:

示例

>>> import numpy as np
>>> from sklearn.metrics import precision_recall_curve
>>> y_true = np.array([0011])
>>> y_scores = np.array([0.10.40.350.8])
>>> precision, recall, thresholds = precision_recall_curve(
...     y_true, y_scores)
>>> precision
array([0.666666670.5       , 1.        , 1.        ])
>>> recall
array([1. , 0.50.50. ])
>>> thresholds
array([0.350.4 , 0.8 ])

sklearn.metrics.precision_recall_curve应用示例