在损失函数中调整xgboost中预测类的权重

时间:2017-03-06 05:56:34

标签: xgboost

是否可以调整给定目标的加权误差?我想要做的是在预测多级时,为稀有类增加更高的损失。

1 个答案:

答案 0 :(得分:1)

如果使用核心数据结构,您可以通过" set_weight"设置标签的权重。参数:

  

set_weight(weight)设置每个实例的权重。

     

参数:weight(array like) - 每个数据点的权重

虽然文档在该主题上相当黯淡,但我找到了一个合理的答案,可能对上一个主题有用:How is the parameter "weight" (DMatrix) used in the gradient boosting procedure (xgboost)?

引用它:

  

实例权重文件

     

XGBoost支持为每个实例提供一个权重来区分   实例的重要性。例如,如果我们提供实例   " train.txt"的重量文件示例中的文件如下:

     

train.txt.weight

     

1

     

0.5

     

0.5

     

1

     

0.5

     

这意味着XGBoost将在第一个和第四个上强调更多   例如,也就是训练时的积极情况。该   配置类似于配置组信息。如果   实例文件名是" xxx",XGBoost将检查是否有   文件名为" xxx.weight"在同一目录中,如果有,将   在训练模型时使用权重。

希望它有所帮助!