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


Python sklearn classification_report用法及代码示例


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

用法:

sklearn.metrics.classification_report(y_true, y_pred, *, labels=None, target_names=None, sample_weight=None, digits=2, output_dict=False, zero_division='warn')

构建显示主要分类指标的文本报告。

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

参数

y_true一维数组,或标签指示符数组/稀疏矩阵

基本事实(正确)目标值。

y_pred一维数组,或标签指示符数组/稀疏矩阵

分类器返回的估计目标。

labels形状类似数组 (n_labels,),默认=无

要包含在报告中的标签索引的可选列表。

target_names形状 (n_labels,) 的 str 列表,默认 = 无

与标签匹配的可选显示名称(相同顺序)。

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

样本权重。

digits整数,默认=2

格式化输出浮点值的位数。当 output_dictTrue 时,这将被忽略并且返回的值不会被四舍五入。

output_dict布尔,默认=假

如果为真,则将输出作为 dict 返回。

zero_division“warn”,0或1,默认=”warn”

设置零除法时要返回的值。如果设置为“warn”,这将作为 0,但也会引发警告。

返回

reportstr 或 dict

每个类别的准确率、召回率、F1 分数的文本摘要。如果 output_dict 为 True,则返回字典。字典具有以下结构:

{'label 1': {'precision':0.5,
             'recall':1.0,
             'f1-score':0.67,
             'support':1},
 'label 2': { ... },
  ...
}

报告的平均值包括宏观平均值(每个标签的未加权平均值的平均值)、加权平均值(每个标签的 support-weighted 平均值的平均值)和样本平均值(仅适用于多标签分类)。微平均值(对总的真阳性、假阴性和假阳性进行平均)仅针对多标签或多类(具有类的子集)显示,因为它对应于准确度,否则对于所有指标都相同。有关平均值的更多详细信息,另请参阅 precision_recall_fscore_support

请注意,在二元分类中,正类的召回也称为“sensitivity”;负类的召回是“specificity”。

例子

>>> from sklearn.metrics import classification_report
>>> y_true = [0, 1, 2, 2, 2]
>>> y_pred = [0, 0, 2, 2, 1]
>>> target_names = ['class 0', 'class 1', 'class 2']
>>> print(classification_report(y_true, y_pred, target_names=target_names))
              precision    recall  f1-score   support

     class 0       0.50      1.00      0.67         1
     class 1       0.00      0.00      0.00         1
     class 2       1.00      0.67      0.80         3

    accuracy                           0.60         5
   macro avg       0.50      0.56      0.49         5
weighted avg       0.70      0.60      0.61         5

>>> y_pred = [1, 1, 0]
>>> y_true = [1, 1, 1]
>>> print(classification_report(y_true, y_pred, labels=[1, 2, 3]))
              precision    recall  f1-score   support

           1       1.00      0.67      0.80         3
           2       0.00      0.00      0.00         0
           3       0.00      0.00      0.00         0

   micro avg       1.00      0.67      0.80         3
   macro avg       0.33      0.22      0.27         3
weighted avg       1.00      0.67      0.80         3

相关用法


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