我知道计算分类准确率的一个公式是 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因为它只犯了某些类型的错误。我有两个建议:
- 创建混淆矩阵:它描述了分类器的性能,让你可以看到你的分类器犯了哪些类型的错误。
- 计算每个类的精确度、召回率和F1分数。平均F1分数可能是你正在寻找的单一数字指标。
scikit-learn文档的分类指标部分包含了很多关于分类器评估的好信息,即使你不是scikit-learn的用户。