个别类精度计算混乱



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

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

从混淆矩阵可以看出,在属于类1的27个数据点中,我只得到了1个数据点被错误地分类为0。因此,我计算了各个类的准确度,并得到标记为 0 = 98.2% 的类的准确度,另一个类的准确度为 1.7333%。这个计算正确吗?我不确定...我确实对标记为1的类进行了很好的分类,那么为什么它的准确性很低呢? 对于 class0,单个类的准确性应为 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 的准确度为 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,:));

最新更新