在xgboost中使用scale_pos_weight参数时,我不知道为什么会这样吗?

问题描述 投票:1回答:1

我必须解决二进制分类问题。 (标签0与标签1之间的火车数据大小之比为4.7:1)因此,我使用xgboost算法创建了模型。结果是相当不错的。-AUC:0.989-精度(0/1):0.998 / 0.938-召回率(0/1):0.992 / 0.986-F得分(0/1):0.995 / 0.962但我想提高标签1(0.938)的精度。因此,我尝试调整xgboost中的参数。特别是,我对调整Scale_pos_weight参数感到好奇。首先,我按照xgboost文档中的建议应用了该值。 (num(负数)/ num(正数)= 4.7)scale_pos_weight=4.7-AUC:0.973-精度(0/1):0.999 / 0.807-召回率(0/1):0.971 / 0.994-F得分(0/1):0.985 / 0.891标签1的精度降低,而调用率提高。与此相反,我应用了4.7的倒数-AUC:0.988-精度(0/1):0.992 / 0.956-召回率(0/1):0.995 / 0.937-F得分(0/1):0.993 / 0.946结果就是我想要的。我不知道为什么会出现这些结果...请解释这种情况。

我必须解决二进制分类问题。 (标签0与标签1之间的火车数据大小之比为4.7:1)因此,我使用xgboost算法创建了模型。结果是相当不错的。 -AUC:0 ....

machine-learning parameters xgboost boosting
1个回答
0
投票

我有同样的情况。我认为原因是,当scale_pos_weight为4.7(应该是)时,模型具有相同数量的标签0和标签1,因此它认为需要预测相同数量的标签0和标签1。但是它没有成功,因此找到了更多的FP,这就是标签1的精度下降的原因。

© www.soinside.com 2019 - 2024. All rights reserved.