如何理解4x4混淆矩阵?

问题描述 投票:2回答:1

我正在使用scikit学习决策树,将一组数据分类为四个类别之一。我是机器学习和编码的新手,并且正在尝试了解混淆矩阵。

因此,当我使用sci-kits混淆矩阵时,我得到的是四乘四矩阵。我能够确定这些列是针对每个类别做出的预测(例如“ Predicted A,Predicted B ...”)。但是,我对行代表什么感到困惑。同样,某些预测可能不会使其进入混淆矩阵。我发现有些列没有必要的总数。为什么会这样?

unique, counts = np.unique(classif_predict, return_counts=True)
print('Predicted:',dict(zip(unique, counts)))

_unique, _counts = np.unique(classif_test, return_counts=True)
print('Tested:',dict(zip(_unique, _counts)))


pd.DataFrame(
    confusion_matrix(classif_test, class_predict), 
    columns = ['AGN Predicted', 'BeXRB Predicted', 'HMXB Predicted', 'SNR Predicted']
)

我的输出看起来像这样:

Predicted: {'AGN': 7, 'BeXRB': 25, 'HMXB': 7, 'SNR': 2}
Tested: {'AGN': 10, 'BeXRB': 22, 'HMXB': 7, 'SNR': 2}
AGN Predicted       BeXRB Predicted     HMXB Predicted      SNR Predicted             
        3                  3                   4                  0
        2                 13                   6                  1
        0                  3                   4                  0
        0                  2                   0                  0
​```
python scikit-learn confusion-matrix
1个回答
0
投票

一个混淆矩阵将帮助您确定模型分类的正确与错误。仅需两节课就可以轻松理解它。

这里是混淆矩阵的工作方式:

Binary Confusion Matrix

在此矩阵中,我们只有两个可能的类别:“否”和“是”。列表示预测值,而线表示实际(真)值。这个矩阵关于评估模型的意思是:

  • [将50个样本分类为“否”。 (那些被称为True Negatives

    ] >>
  • 分类错误

  • 5个样本为“否”,而那些应该为“是”。 (那些被称为假否定词
  • [

    错误分类

  • 10个样本为“是”,而那些应该为“否”。 (那些被称为假阳性)>>
  • [将100个样本分类为“是”。 (这些被称为

    True Positives

  • ]
    为了检查每个类有多少预测,必须将列中的值相加:该模型预测了55个“否”和110个“是”。 要检查每个类上有多少个真实样本,您必须对各行中的值求和:样本的确是60个“否”和105个“是”。

在两种情况下的总数为165,这是评估的样本总数。

专门针对您的问题:

当您制作4x4混淆矩阵时,逻辑原理是相同的,每个“额外”类都会添加额外的行和列。在您的输出中,总和都可以:

Predicted: {'AGN': 7, 'BeXRB': 25, 'HMXB': 7, 'SNR': 2} Tested: {'AGN': 10, 'BeXRB': 22, 'HMXB': 7, 'SNR': 2}

假设“已测试”是您的真实价值:

这意味着您有10个“ AGN”样本,但是您的模型仅对7个样本进行了分类(显然只有3个正确)。

    您也有22个“ BeXRB”样本,并且您的模型将25个分类为“ BeXRB”(显然只有13个正确。)>
  • 编辑:
  • 您的混淆矩阵似乎已转置,这意味着True值是列,而预测值是线。不知道为什么,我不认为这是sklearn的默认行为。

所以您可以将矩阵视为:

True AGN True BeXRB True HMXB True SNR AGN Pred 3 3 4 0 BeXRB Pred 2 13 6 1 HMXB Pred 0 3 4 0 SNR Pred 0 2 0 0

© www.soinside.com 2019 - 2024. All rights reserved.