我最近收到一个问题,是通过电子邮件发来的
你好 Jason,快速问一下。一个分类不平衡的案例:90个赞的情况,10个踩的情况。在这种情况下,我们如何计算随机猜测的准确率?
我们可以利用一些基础的概率来回答这个问题(我打开了Excel并输入了一些数字)。
通过我的新书 机器学习概率,开启您的项目,书中包含分步教程以及所有示例的Python源代码文件。
让我们开始吧。
注意,有关此主题的更详细教程,请参阅

不要将随机猜测作为您的基准分类器
照片来自 cbgrfx123,保留部分权利。
假设分类0和分类1的比例为90%-10%。假设您将使用相同的比例进行随机猜测。
在二分类问题中,随机猜测的理论准确率为
1 |
= P(类别为0) * P(您猜测为0) + P(类别为1) * P(您猜测为1) |
我们可以用我们90%-10%的例子来测试这一点
1 2 3 |
= (0.9 * 0.9) + (0.1 * 0.1) = 0.82 = 0.82 * 100 或 82% |
为了检查数学,您可以代入50%-50%的数据划分,它会符合您的直觉
1 2 3 |
= (0.5 * 0.5) + (0.5 * 0.5) = 0.5 = 0.5 * 100 或 50% |
如果我们搜索Google,在Cross Validated上找到了一个类似的问题“在不平衡分类问题中,机会水平的准确率是多少?”,答案几乎相同。再次,这是一个很好的确认。
很有趣,但这一切有一个重要的收获。
想学习机器学习概率吗?
立即参加我为期7天的免费电子邮件速成课程(附示例代码)。
点击注册,同时获得该课程的免费PDF电子书版本。
不要将随机猜测作为基准
如果您正在寻找一个分类器作为基准准确率,请不要使用随机猜测。
有一个称为零规则(或简称0R或ZeroR)的分类器。它是您可以在分类问题上使用的最简单的规则,它只是预测数据集中出现次数最多的类别(例如,众数)。
在上面的例子中,对于分类0和分类1的90%-10%的划分,它会为每个预测都预测类别0,准确率达到90%。这比随机猜测的理论最大值高出8%。
使用零规则方法作为基准。
此外,在像这样的不平衡分类问题中,您应该使用准确率以外的指标,例如Kappa或ROC曲线下面积。
有关分类问题的替代性能度量的更多信息,请参阅此帖子
有关处理不平衡分类问题的更多信息,请参阅此帖子
您对这篇帖子有任何疑问吗?请在评论中提问。
你好Jason,非常实用的文章。只是好奇想知道,假设在我的数据集中,目标标签的比例是1:4(是 vs 否)。那么,一个随机分类模型,我可能选择它作为我的基准,其准确率应该是多少?
如果是二分类问题,基准性能将是75%的准确率。
感谢您的回复。您能简要说明一下计算过程吗?我想学习一下
根据ZeroR规则,基准准确率应该是80%,因为Y/N的比例是1:4。那么您是如何计算为75%的?
如果比例是1比4,那么在100个样本中,75个是一个类别,25个是另一个类别。
预测所有记录中的主要类别意味着其中75个示例是正确的,25个是错误的,准确率将是75%。
“如果比例是1比4,那么在100个样本中,75个是一个类别,25个是另一个类别。”-
在100个样本中,难道不应该是80个一个类别,20个另一个类别吗?
20:80 = 1:4 但 25:75 = 1:3
我将1:4理解为1/4
1/4 = 0.25
25 * 4 = 100
如果您指的是1比4,那么您是正确的,比例是1/5,准确率为80%。
感谢这篇精彩的文章!那么如果我们有一个多类别问题呢?您会推荐什么最佳的朴素“基准”?
好问题,这取决于您使用的指标,请参阅此
https://machinelearning.org.cn/naive-classifiers-imbalanced-classification-metrics/
谢谢您!这非常有启发性!
不客气。