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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。