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


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