当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python sklearn precision_recall_curve用法及代码示例


本文简要介绍python语言中 sklearn.metrics.precision_recall_curve 的用法。

用法:

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

针对不同的概率阈值计算precision-recall 对。

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

精度是比率tp / (tp + fp),其中tp 是真阳性数,fp 是假阳性数。精度直观地是分类器不将负样本标记为正样本的能力。

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

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

在用户指南中阅读更多信息。

参数

y_truendarray 形状 (n_samples,)

真正的二进制标签。如果标签不是 {-1, 1} 或 {0, 1},则应明确给出 pos_label。

probas_predndarray 形状 (n_samples,)

目标分数,可以是正类的概率估计,也可以是决策的非阈值度量(由 decision_function 在某些分类器上返回)。

pos_labelint 或 str,默认=无

正类的标签。当 pos_label=None 时,如果 y_true 在 {-1, 1} 或 {0, 1} 中,则 pos_label 设置为 1,否则将引发错误。

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

样本权重。

返回

precisionndarray 形状 (n_thresholds + 1,)

精度值,使得元素 i 是 score >= thresholds[i] 且最后一个元素为 1 的预测的精度。

recallndarray 形状 (n_thresholds + 1,)

减少召回值,使得元素 i 是分数 >= 阈值 [i] 的预测的召回,最后一个元素为 0。

thresholdsndarray 形状(n_thresholds,)

增加用于计算精度和召回率的决策函数的阈值。 n_thresholds <= len(np.unique(probas_pred))。

例子

>>> import numpy as np
>>> from sklearn.metrics import precision_recall_curve
>>> y_true = np.array([0, 0, 1, 1])
>>> y_scores = np.array([0.1, 0.4, 0.35, 0.8])
>>> precision, recall, thresholds = precision_recall_curve(
...     y_true, y_scores)
>>> precision
array([0.66666667, 0.5       , 1.        , 1.        ])
>>> recall
array([1. , 0.5, 0.5, 0. ])
>>> thresholds
array([0.35, 0.4 , 0.8 ])

相关用法


注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.metrics.precision_recall_curve。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。