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


Python sklearn confusion_matrix用法及代碼示例


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

用法:

sklearn.metrics.confusion_matrix(y_true, y_pred, *, labels=None, sample_weight=None, normalize=None)

計算混淆矩陣以評估分類的準確性。

根據定義,混淆矩陣 使得 等於已知在組 中並預測在組 中的觀察數。

因此,在二進製分類中,真負數為 ,假負數為 ,真正數為 ,假正數為

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

參數

y_true形狀類似數組 (n_samples,)

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

y_pred形狀類似數組 (n_samples,)

分類器返回的估計目標。

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

索引矩陣的標簽列表。這可用於重新排序或選擇標簽子集。如果給定None,則在y_truey_pred 中至少出現一次的那些將按排序順序使用。

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

樣本權重。

normalize{‘true’, ‘pred’, ‘all’},默認=無

在真實(行)、預測(列)條件或所有總體上標準化混淆矩陣。如果沒有,混淆矩陣將不會被歸一化。

返回

Cndarray 形狀(n_classes,n_classes)

混淆矩陣,其i-th 行和j-th 列條目表示真實標簽為i-th 類且預測標簽為j-th 類的樣本數。

參考

1

Wikipedia entry for the Confusion matrix(維基百科和其他引用可能對軸使用不同的約定)。

例子

>>> from sklearn.metrics import confusion_matrix
>>> y_true = [2, 0, 2, 2, 0, 1]
>>> y_pred = [0, 0, 2, 2, 0, 2]
>>> confusion_matrix(y_true, y_pred)
array([[2, 0, 0],
       [0, 0, 1],
       [1, 0, 2]])
>>> y_true = ["cat", "ant", "cat", "cat", "ant", "bird"]
>>> y_pred = ["ant", "ant", "cat", "cat", "ant", "cat"]
>>> confusion_matrix(y_true, y_pred, labels=["ant", "bird", "cat"])
array([[2, 0, 0],
       [0, 0, 1],
       [1, 0, 2]])

在二進製情況下,我們可以提取真陽性等,如下所示:

>>> tn, fp, fn, tp = confusion_matrix([0, 1, 0, 1], [1, 1, 1, 0]).ravel()
>>> (tn, fp, fn, tp)
(0, 2, 1, 1)

相關用法


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