當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。