计算分类准确率的最佳方法?

我知道计算分类准确率的一个公式是 X = t / n * 100(其中t是正确分类的数量,n是样本总数)。

假设我们总共有100个样本,80个属于A类,10个属于B类,10个属于C类。

情景1: 所有100个样本都被分配到A类,使用公式计算得出准确率为80%。

情景2: 属于B类的10个样本被正确分配到B类;属于C类的10个样本也被正确分配到C类;属于A类的30个样本被正确分配到A类;剩余的50个属于A类的样本被错误地分配到C类。使用公式计算得出准确率为50%。

我的问题是:

1: 我们可以说情景1的准确率高于情景2吗?

2: 有没有其他方法来计算分类问题的准确率?

非常感谢!


回答:

分类准确率定义为“正确预测的百分比”。无论类别数量如何都是如此。因此,情景1的分类准确率高于情景2。

然而,听起来你真正想要的是一种替代的评估指标或过程,能够“奖励”情景2因为它只犯了某些类型的错误。我有两个建议:

  1. 创建混淆矩阵:它描述了分类器的性能,让你可以看到你的分类器犯了哪些类型的错误。
  2. 计算每个类的精确度、召回率和F1分数。平均F1分数可能是你正在寻找的单一数字指标。

scikit-learn文档的分类指标部分包含了很多关于分类器评估的好信息,即使你不是scikit-learn的用户。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

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