multilabel_confusion_matrix#
- sklearn.metrics.multilabel_confusion_matrix(y_true, y_pred, *, sample_weight=None, labels=None, samplewise=False)[源代码]#
为每个类别或样本计算混淆矩阵。
Added in version 0.21.
计算按类别(默认)或按样本(samplewise=True)多标签混淆矩阵以评估分类的准确性,并输出每个类别或样本的混淆矩阵。
在多标签混淆矩阵中 \(MCM\) ,真阴性的计数是 \(MCM_{:,0,0}\) ,假阴性是 \(MCM_{:,1,0}\) ,真正的积极因素是 \(MCM_{:,1,1}\) 假阳性是 \(MCM_{:,0,1}\) .
多类数据将被视为在一对休息转换下二进制化。返回的混淆矩阵将按照(y_true,y_pred)的联合中排序的唯一标签的顺序。
阅读更多的 User Guide .
- 参数:
- y_true形状(n_样本,n_输出)的{类数组,稀疏矩阵}或 (n_样本,)
地面真相(正确)目标值。
- y_pred形状(n_样本,n_输出)的{类数组,稀疏矩阵}或 (n_样本,)
分类器返回的估计目标。
- sample_weight形状类似数组(n_samples,),默认=无
样本重量。
- labels形状类似数组(n_classes,),默认=无
一个类或列索引的列表,用于选择一些(或强制包含数据中不存在的类)。
- samplewise布尔,默认=假
在多标签的情况下,它计算每个样本的混淆矩阵。
- 返回:
- multi_confusion形状的nd数组(n_outputs,2,2)
对应于输入中的每个输出的2x 2混淆矩阵。当计算逐类multi_conflict(默认)时,则n_outputs = n_labels;当计算逐类multi_conflict(samplewise=True)时,n_outputs = n_samples。如果
labels
定义,则结果将按照中指定的顺序返回labels
,否则默认情况下结果将按照排序顺序返回。
参见
confusion_matrix
计算混淆矩阵以评估分类器的准确性。
注意到
的
multilabel_confusion_matrix
计算逐类或逐样本的多标签混淆矩阵,在多类任务中,标签以一对休息的方式进行二进制化;同时confusion_matrix
为每两个类之间的混淆计算一个混淆矩阵。示例
多标签指示器案例:
>>> 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]]])