高度不平衡数据集中使用的负样本数量的影响 (XGBoost)

Zen*_*nie 2 machine-learning xgboost

我正在尝试在高度不平衡的数据集上使用 XGBoost 来建模分类器,其中正样本数量有限,负样本数量几乎无限。负样本过多(使数据集更加不平衡)是否会削弱模型的预测能力?除了运行时间之外,还有限制负样本数量的理由吗?

我知道scale_pos_weight应该解决该问题的参数,但我的直觉表明,即使这种方法也有其局限性。

sop*_*ros 5

直接回答你的问题:添加更多的负面例子可能会降低训练有素的分类器的决策能力。对于负类,选择最具代表性的例子,并丢弃其余的。

从不平衡数据集中学习可以影响预测能力,甚至影响分类器收敛的能力。通常推荐的策略是保持每个类的训练样例大小相似。班级不平衡对学习的影响取决于决策空间的形状和班级之间边界的宽度。它们越宽,决策空间越简单,即使对于不平衡的数据集,训练也就越成功。

长话短说

为了快速概述不平衡学习的方法,我推荐这两篇文章:

有一个名为 的 Python 包imbalanced-learn,其中包含大量算法文档,我建议您深入查看。