个体类别准确率计算混淆

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

  • 1473个标记为0,以及
  • 剩余的27个标记为1

从混淆矩阵可以看出,属于类别1的27个数据点中,只有1个数据点被错误分类为0。因此,我计算了各个类别的准确率,得到了标记为0的类别的准确率为98.2%,而另一个类别的准确率为1.7333%。这个计算正确吗?我不太确定…我对标记为1的类别的分类效果相当不错,为什么它的准确率这么低?各个类别的准确率应该分别为类别0的100%和类别1的约98%

一个错误分类会使类别1的准确率降低这么多吗?这是我在Matlab中计算个体类别准确率的方法。

cmMatrix  = 1473    01       26acc_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,:));

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注