培训高度不平衡的数据集的快速指南


29

我在训练集中有大约1000个正样本和10000个负样本的分类问题。因此,该数据集非常不平衡。普通随机森林只是试图将所有测试样本标记为多数类。

这里给出了有关子采样和加权随机森林的一些很好的答案:用高度偏向的数据集训练树群有什么意义?

除RF之外,还有哪些分类方法可以最好地解决问题?


Answers:


19
  • Max Kuhn在应用预测建模的第 16章中对此进行了很好的介绍。
  • 如链接线程中所述,数据不平衡本质上是对成本敏感的培训问题。因此,任何对成本敏感的方法都适用于不平衡数据。
  • 有很多这样的方法。并非全部在R:C50中实现,可以选择加权SVM。怒气冲冲。我认为Rusboost仅可作为Matlab代码使用。
  • 我不使用Weka,但相信它具有大量的成本敏感分类器。
  • 处理不平衡的数据集:回顾:Sotiris Kotsiantis,Dimitris Kanellopoulos,Panayiotis Pintelas'
  • 关于阶级失衡的问题:郭新建,尹一龙,董才玲,杨功平,周光通

16

在这种情况下,多数群体的抽样不足通常是可行的方法。

如果您认为肯定类的实例太少,则可以执行过度采样,例如,从大小为n的数据集中替换5n个实例。

注意事项:

  • 某些方法可能对类分布中的更改敏感,例如,对于朴素贝叶斯-它会影响先验概率。
  • 过度采样可能导致过度拟合

还是尝试一些聚类算法并使用聚类中心?
Leela Prabhu

您可以检查链接是否有过采样和其他方法来处理不平衡的数据集。
janpreet singh

11

梯度提升在这里也是一个不错的选择。例如,您可以在sci-kit学习中使用梯度提升分类器。梯度提升是通过基于错误分类的示例构建连续的训练集来处理班级不平衡的一种原则方法。


1
我的理解是,在处理不平衡数据时,梯度增强与RF具有相同的局限性:sci2s.ugr.es/keel/pdf/algorithm/articulo/…–
查尔斯(

1
增强是您在直接解决不平衡问题的森林中采取的又一个步骤。您链接的论文在介绍中指出了这一点,即使在没有不平衡的情况下,增强也有帮助。该论文得出的结论是,提高效率有很大帮助。那么不确定在那里显示的是RF与升压之间的等效性吗?
cwharland 2014年

1

除了此处发布的答案之外,如果与否定示例相比,肯定示例的数量太少,那么正例就是异常的情况下,它几乎是一个异常检测问题。

您可以使用多种方法来检测异常,包括使用多元高斯分布对所有点进行建模,然后选择距离均值2或3 std的那些点。

另一个值得深思的地方-我看到相当多的人随机抽取否定示例,并提供更多示例,以使两个类别的数量相同。无论我们是否希望它们达到平衡,这完全取决于眼前的问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.