For a Multiclass problem, should the data be balanced for machine learning algorithms such as Random forests and Random ferns or is it ok for it to be imbalanced for a certain extent?
2 回答
当不成比例改变类实例的可分离性时,就会出现不平衡类的问题。但这不会发生在曾经不平衡的数据集中:有时你从一个类中获得的数据越多,你就能更好地将稀缺数据与它区分开来,因为它可以让你更容易地找到哪些特征对创建一个区分平面有意义(即使你是不使用判别分析,重点是根据类对实例进行分类分离)。
例如,我记得KDDCup2004蛋白质分类任务,其中一个类在训练集中有 99.1% 的实例,但如果您尝试使用欠采样方法来缓解不平衡,您只会得到更糟糕的结果。这意味着来自第一类的大量数据定义了较小的数据。
关于随机森林和一般的决策树,它们通过在每个步骤中选择最有希望的特征来工作,该特征可以将集合划分为两个(或更多)具有类意义的子集。默认情况下,拥有更多关于一个类的数据不会使这种分区产生偏差(=总是),但只有当不平衡不能代表类的真实分布时。
因此,我建议您首先进行多变量分析,以尝试了解数据集中类之间的不平衡程度,如果您仍有疑问,请使用不同的欠采样率进行一系列实验。
我以前在我的任务中使用过 Random Forrests。虽然数据不需要平衡,但是如果正样本太少,数据的模式可能会淹没在噪声中。甚至大多数分类方法(随机 forrests 和 ada boost)都应该或多或少有这个缺陷。“过度采样”可能是处理这个问题的好主意。
也许罕见的逻辑回归论文对这类问题很有用,尽管它的主题是逻辑回归。