r - Xgboost 处理不平衡的分类数据

标签 r xgboost

我有一个包含大约 20000 个训练示例的数据集,我想对其进行二元分类。
问题是数据集严重不平衡,只有大约 1000 个属于正类。我正在尝试使用 xgboost(在 R 中)进行预测。

我尝试过过采样和欠采样,无论我做什么,预测总是导致将所有内容归类为多数类。

我试着阅读这篇关于如何在 xgboost 中调整参数的文章。
https://www.analyticsvidhya.com/blog/2016/03/complete-guide-parameter-tuning-xgboost-with-codes-python/

但它只提到了哪些参数有助于不平衡的数据集,但没有提到如何调整它们。

如果有人对调整 xgboost 的学习参数以处理不平衡数据集以及如何为此类情况生成验证集有任何建议,我将不胜感激。

最佳答案

根据 XGBoost文档,scale_pos_weight参数是处理不平衡类的参数。参见文档 here

scale_pos_weight, [default=1] Control the balance of positive and negative weights, useful for unbalanced classes. A typical value to consider: sum(negative cases) / sum(positive cases) See Parameters Tuning for more discussion. Also see Higgs Kaggle competition demo for examples: R, py1, py2, py3

关于r - Xgboost 处理不平衡的分类数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40968348/

相关文章:

r - 连接点

python - 如何从加载的 XGBClassifier 模型接收相同的预测?

r - 了解 xgboost 交叉验证和 AUC 输出结果

python - 如何判断 H2O 3.11.0.266 是否在使用 GPU 运行?

r - 字符串在分隔符 : R 处拆分并展开(向量)

r - 仅当特定百分比的数据可用时才使用 rollapply 计算平均值

python - 如何更改参数以防止 xgboost 精度卡住

numpy - xgboost 的 github 存储库中的自定义目标函数示例脚本中如何计算对数损失的梯度和粗麻布?

javascript - 自定义小部件中的 react 性

保留组中的第一个值