在混淆矩阵中,对角线告诉我们每个类的正确预测的数量,而非对角线是错误的。考虑一个玩具问题,在28个属于负类(标签0)的例子中,28个被正确预测(TN),而在8个正类(标签1)中,6个被正确预测(TP)。所以,有2个负面类的例子没有被分类器捕获。
准确性是类的整体性能。但如果我想知道每个类的表现,我应该用对角线除以这个类的总样本数。我应用了这个公式,得到了相反的结果。有人能帮帮忙吗,这是怎么回事:为什么我在正面课上得到了100%的分数,而遗漏了两个例子?以下是我所做的
cmMatrix =
28 2
0 6
acc_0 = 100*(cmMatrix(1,1))/sum(cmMatrix(1,:)) = 93.33
acc_1 = 100*(cmMatrix(2,2))/sum(cmMatrix(2,:)) = 100
上面的值似乎违反直觉!!对于acc_0
,我应该得到100%,因为分类器没有遗漏任何示例(对角线= 28),对于acc_1
,对于第1类,我应该得到93.33
混淆参数为:
cmMatrix = confusionmat(yrtue, ypredicted)
你很可能交换了参数。