本文简要介绍python语言中 sklearn.metrics.precision_recall_fscore_support
的用法。
用法:
sklearn.metrics.precision_recall_fscore_support(y_true, y_pred, *, beta=1.0, labels=None, pos_label=1, average=None, warn_for=('precision', 'recall', 'f-score'), sample_weight=None, zero_division='warn')
计算每个类的精度、召回率、F-measure 和支持。
精度是比率
tp / (tp + fp)
,其中tp
是真阳性数,fp
是假阳性数。精度直观地是分类器不将负样本标记为正样本的能力。召回率是
tp / (tp + fn)
的比率,其中tp
是真阳性数,fn
是假阴性数。召回率直观地是分类器找到所有正样本的能力。F-beta 分数可以解释为准确率和召回率的加权调和平均值,其中 F-beta 分数在 1 处达到其最佳值,在 0 处达到最差分数。
F-beta 分数权重的召回率比准确率高出
beta
的系数。beta == 1.0
表示召回率和准确率同样重要。支持是
y_true
中每个类的出现次数。如果
pos_label is None
且处于二元分类中,则此函数返回平均精度、召回率,如果average
是'micro'
、'macro'
、'weighted'
或'samples'
之一,则返回 F-measure 。在用户指南中阅读更多信息。
- y_true:一维数组,或标签指示符数组/稀疏矩阵
基本事实(正确)目标值。
- y_pred:一维数组,或标签指示符数组/稀疏矩阵
分类器返回的估计目标。
- beta:浮点数,默认=1.0
F-score 中召回率与精度的对比。
- labels:类似数组,默认=无
当
average != 'binary'
时要包含的标签集,如果average is None
则它们的顺序。可以排除数据中存在的标签,例如计算忽略多数负类的多类平均值,而数据中不存在的标签将导致宏观平均值中的 0 个分量。对于多标签目标,标签是列索引。默认情况下,y_true
和y_pred
中的所有标签都按排序顺序使用。- pos_label:str 或 int,默认 = 1
如果
average='binary'
并且数据是二进制的,则要报告的类。如果数据是多类或多标签的,这将被忽略;设置labels=[pos_label]
和average != 'binary'
将仅报告该标签的分数。- average:{‘binary’, ‘micro’, ‘macro’, ‘samples’,'加权'},默认=无
如果
None
,则返回每个类的分数。否则,这将确定对数据执行的平均类型:'binary'
:仅报告
pos_label
指定的类的结果。这仅适用于目标 (y_{true,pred}
) 是二进制的。'micro'
:通过计算总的真阳性、假阴性和假阳性来全局计算指标。
'macro'
:计算每个标签的指标,并找到它们的未加权平均值。这没有考虑标签不平衡。
'weighted'
:计算每个标签的指标,并通过支持度(每个标签的真实实例数)找到它们的平均加权值。这会改变 ‘macro’ 以解决标签不平衡问题;它可能导致 F-score 不在精确率和召回率之间。
'samples'
:计算每个实例的指标,并找到它们的平均值(仅对不同于
accuracy_score
的多标签分类有意义)。
- warn_for:元组或集合,供内部使用
这决定了在此函数仅用于返回其指标之一的情况下将发出哪些警告。
- sample_weight:形状类似数组 (n_samples,),默认=None
样本权重。
- zero_division:“warn”,0或1,默认=”warn”
- 设置零除法时要返回的值:
- 回忆:当没有正面标签时
- 精度:当没有正面预测时
- f-score:两者都有
如果设置为“warn”,这将作为 0,但也会引发警告。
- precision:浮点数(如果平均值不是无)或浮点数数组,形状 = [n_unique_labels]
- recall:浮点数(如果平均值不是无)或浮点数数组,形状 = [n_unique_labels]
- fbeta_score:浮点数(如果平均值不是无)或浮点数数组,形状 = [n_unique_labels]
- support:无(如果平均值不是无)或 int 数组,形状 = [n_unique_labels]
y_true
中每个标签的出现次数。
参数:
返回:
注意:
当
true positive + false positive == 0
时,精度未定义。当true positive + false negative == 0
时,召回未定义。在这种情况下,默认情况下,度量将设置为 0,f-score 和UndefinedMetricWarning
将被提高。可以使用zero_division
修改此行为。参考:
例子:
>>> import numpy as np >>> from sklearn.metrics import precision_recall_fscore_support >>> y_true = np.array(['cat', 'dog', 'pig', 'cat', 'dog', 'pig']) >>> y_pred = np.array(['cat', 'pig', 'dog', 'cat', 'cat', 'dog']) >>> precision_recall_fscore_support(y_true, y_pred, average='macro') (0.22..., 0.33..., 0.26..., None) >>> precision_recall_fscore_support(y_true, y_pred, average='micro') (0.33..., 0.33..., 0.33..., None) >>> precision_recall_fscore_support(y_true, y_pred, average='weighted') (0.22..., 0.33..., 0.26..., None)
可以计算per-label 精度、召回率、F1 分数和支持,而不是平均:
>>> precision_recall_fscore_support(y_true, y_pred, average=None, ... labels=['pig', 'dog', 'cat']) (array([0. , 0. , 0.66...]), array([0., 0., 1.]), array([0. , 0. , 0.8]), array([2, 2, 2]))
相关用法
- Python sklearn precision_recall_curve用法及代码示例
- Python sklearn precision_score用法及代码示例
- Python sklearn power_transform用法及代码示例
- Python sklearn.metrics.plot_confusion_matrix用法及代码示例
- Python sklearn.metrics.plot_roc_curve用法及代码示例
- Python sklearn parallel_backend用法及代码示例
- Python sklearn pairwise_distances_chunked用法及代码示例
- Python sklearn plot_tree用法及代码示例
- Python sklearn permutation_importance用法及代码示例
- Python sklearn partial_dependence用法及代码示例
- Python sklearn parametrize_with_checks用法及代码示例
- Python sklearn pair_confusion_matrix用法及代码示例
- Python sklearn.metrics.plot_det_curve用法及代码示例
- Python sklearn.inspection.plot_partial_dependence用法及代码示例
- Python sklearn polynomial_kernel用法及代码示例
- Python sklearn paired_distances用法及代码示例
- Python sklearn jaccard_score用法及代码示例
- Python sklearn WhiteKernel用法及代码示例
- Python sklearn CalibrationDisplay.from_predictions用法及代码示例
- Python sklearn VotingRegressor用法及代码示例
- Python sklearn gen_batches用法及代码示例
- Python sklearn ExpSineSquared用法及代码示例
- Python sklearn MDS用法及代码示例
- Python sklearn adjusted_rand_score用法及代码示例
- Python sklearn MLPClassifier用法及代码示例
注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.metrics.precision_recall_fscore_support。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。