我的数据集非常不平衡。我正在尝试遵循调整建议并使用,scale_pos_weight
但不确定如何调整它。
我可以看到RegLossObj.GetGradient
:
if (info.labels[i] == 1.0f) w *= param_.scale_pos_weight
因此,阳性样本的梯度会更具影响力。但是,根据xgboost论文,总是在特定树中特定节点的实例中局部使用梯度统计信息:
- 在节点的上下文中,以评估候选拆分的损失减少
- 在叶节点的上下文中,以优化赋予该节点的权重
因此,无法预先知道什么是好的scale_pos_weight
-对于正负实例之间以1:100比率结尾的节点,以及1:2比率的节点,这是一个非常不同的数字。
有什么提示吗?