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


Python sklearn multilabel_confusion_matrix用法及代碼示例


本文簡要介紹python語言中 sklearn.metrics.multilabel_confusion_matrix 的用法。

用法:

sklearn.metrics.multilabel_confusion_matrix(y_true, y_pred, *, sample_weight=None, labels=None, samplewise=False)

計算每個類或樣本的混淆矩陣。

計算class-wise(默認)或sample-wise(samplewise=True)多標簽混淆矩陣以評估分類的準確性,並為每個類或樣本輸出混淆矩陣。

在多標簽混淆矩陣 中,真負數為 ,假負數為 ,真正數為 ,假正數為

多類數據將被視為在one-vs-rest 轉換下進行二值化處理。返回的混淆矩陣將按照 (y_true, y_pred) 的並集中排序的唯一標簽的順序。

在用戶指南中閱讀更多信息。

參數

y_true{類似數組的稀疏矩陣},形狀為 (n_samples, n_outputs) 或 (n_samples,)

基本事實(正確)目標值。

y_pred{類似數組的稀疏矩陣},形狀為 (n_samples, n_outputs) 或 (n_samples,)

分類器返回的估計目標。

sample_weight形狀類似數組 (n_samples,),默認=None

樣本權重。

labels形狀類似數組 (n_classes,),默認=無

用於選擇一些(或強製包含數據中缺少的類)的類或列索引的列表。

samplewise布爾,默認=假

在多標簽情況下,這會計算每個樣本的混淆矩陣。

返回

multi_confusionndarray 形狀 (n_outputs, 2, 2)

對應於輸入中每個輸出的 2x2 混淆矩陣。計算class-wise時multi_confusion(默認),則n_outputs = n_labels;當計算sample-wise multi_confusion(samplewise=True)時,n_outputs = n_samples。如果定義了labels,則按照labels中指定的順序返回結果,否則默認按排序順序返回。

注意

multilabel_confusion_matrix計算class-wise或sample-wise多標簽混淆矩陣,在多類任務中,標簽以one-vs-rest方式二值化;而 confusion_matrix 為每兩個類別之間的混淆計算一個混淆矩陣。

例子

Multilabel-indicator案例:

>>> import numpy as np
>>> from sklearn.metrics import multilabel_confusion_matrix
>>> y_true = np.array([[1, 0, 1],
...                    [0, 1, 0]])
>>> y_pred = np.array([[1, 0, 0],
...                    [0, 1, 1]])
>>> multilabel_confusion_matrix(y_true, y_pred)
array([[[1, 0],
        [0, 1]],

       [[1, 0],
        [0, 1]],

       [[0, 1],
        [1, 0]]])

多類案例:

>>> y_true = ["cat", "ant", "cat", "cat", "ant", "bird"]
>>> y_pred = ["ant", "ant", "cat", "cat", "ant", "cat"]
>>> multilabel_confusion_matrix(y_true, y_pred,
...                             labels=["ant", "bird", "cat"])
array([[[3, 1],
        [0, 2]],

       [[5, 0],
        [1, 0]],

       [[2, 1],
        [1, 2]]])

相關用法


注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.metrics.multilabel_confusion_matrix。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。