2016-12-27 360 views
3

我经历了各种文章,其中大多数描述了如何将权重引入特定的数据行而不是特定的功能。在R的GBM中,我们可以指定模型以便从一个特定的特征中更明确地学习。我们可以为Python的XGBoost做些什么吗?如何调整XGBoost给予特定的预测值列更多的权重

我通过以下去: here 1here 2here 3和所有不知何故何况我们可以给权重排。

我是XGBoost的新手,想要第二次确认,如果我们可以给变量赋值权重。

我的情况是,我有一个计划列,目标为实际值。每当我的预定低于5-10k时,我的模型就会超出预测的极限。它平均下降70%(平均绝对误差),而对于预定> 10k,我的误差指标在20-30%的范围内。有没有办法强迫XGBoost按计划进行培训?

我试图引入桶变量,一个标志变量,但它原来是最不重要的功能,因此没有帮助。

或者任何其他建议如何解决这种情况将非常有帮助。

如果存在一种在XGBoost中分配权重(sample_weight)的方法,那么参数(weight_data)应该如何显示。它的形状和一切,

谢谢

回答

1

我也在寻找类似问题的解决方案。不幸的是,与具有较少等级(二元,分类等)的树相比,树偏向于数值变量。原因是个别树的贪婪。使用更高方差的特征有更多机会找到更好的分割。这也在文献中讨论。