我正在构建一个二元分类模型,它有 17K 值作为 A 类,10K 值作为 B 类。我想知道数据集何时会面临“IMBALANCED 数据集”的问题?
两个类之间有多少差异可以算作一个不平衡的数据集?
数据挖掘
机器学习
Python
熊猫
2021-09-16 01:45:42
2个回答
一般来说,对此没有硬性规定,但这个数据集似乎是平衡的。关于不平衡的一点是,您必须记住,模型的准确性将有不同的起点。为此,python 具有运行虚拟分类基线的功能。https://scikit-learn.org/stable/modules/generated/sklearn.dummy.DummyClassifier.html。这可以很好地指示您的基线是什么(如果您选择 most_frequent 的策略)。在您的情况下,任何始终预测 A 类的预测模型的准确度为: 17/(10+17) = 0,6296... ,因此任何得分低于此值的二进制分类都会非常糟糕
关于何时将数据集称为“不平衡”并没有严格的定义,但一般来说,这是不平衡可能导致模型出现问题的时候。通常问题是模型将使用多数类作为默认值,因为分配多数类不太可能是错误的:例如,如果数据由 99% 的 A 类和 1% 的 B 类组成,那么模型总是预测 A 将达到 99% 的准确率。
您的情况不会被称为不平衡:少数类占数据的很大一部分,因此模型不太可能忽略它。
其它你可能感兴趣的问题