个别班级准确性计算混乱

时间:2018-07-09 23:21:05

标签: matlab machine-learning classification

获得以下二进制分类结果的数据点总数=1500。其中,我有

  • 1473标记为0
  • 其余27个为1

从混淆矩阵中可以看出,在属于类1的27个数据点中,我只有1个被错误分类为0的数据点。因此,我计算了单个类别的准确度,得出类别的准确度标记为0 = 98.2%,另一个类别的准确度标记为1.7333%。这个计算正确吗?我不确定...对于标记为1的类,我确实得到了很好的分类,那么为什么它的准确性低? 每个班级的个人准确度应该是100%,而班级1的准确度应该是98%左右

一种分类错误会导致1类的准确性降低太多吗?这就是我如何在MAtlab中计算各个班级的准确性。

cmMatrix  = 
1473    0
1       26

acc_class0  = 100*(cmMatrix(1,1))/1500;
acc_class1= 100*(cmMatrix(2,2))/1500;

1 个答案:

答案 0 :(得分:2)

如果一切均已正确分类,则您的计算将表明类别1的准确性为27/1500 = 0.018。这显然是错误的。总体精度为1499/1500,但是每类精度不能使用1500作为分母。 27是分类正确的最大元素,因此应该是分母。

acc_class0 = 100*cmMatrix(1,1)/sum(cmMatrix(1,:));
acc_class1 = 100*cmMatrix(2,2)/sum(cmMatrix(2,:));