参数"weight"(DMatrix)如何在梯度提升程序(xgboost)中使用?

Oli*_*s_j 14 xgboost

在xgboost中,可以weight为a 设置参数DMatrix.这显然是权重列表,其中每个值是相应样本的权重.我找不到有关这些权重在梯度增强程序中如何实际使用的任何信息.他们有关系eta吗?

例如,如果我将weight所有样本eta设置eta为0.3并设置为1,那么设置为0.3和weight1是否相同?

T. *_*arf 19

xgboostDMatrix如你所说,在构造过程中允许加权.这个重量与实例直接相关,并在整个训练过程中随之传播.因此,包含在梯度和赫斯曼的计算中,并直接影响模型的分裂点和跟踪xgboost.

看到这里这里

实例权重文件

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

train.txt.weight

1

0.5

0.5

1

0.5

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

它与...非常不同 eta

eta简单地说明xgboost最后一棵树在整体中训练的混合程度.衡量每次迭代时整体的贪婪程度.

例如,如果我将weight所有样本eta 设置eta为0.3并设置为1,那么设置为0.3和weight1是否相同?

  • weight对于所有实例,常量为1是默认值,因此对于所有实例,将其更改为.3的常量仍将是相等的权重,因此这不会对事物造成太大影响.但是,eta从.3 设置为1将使训练更具攻击性.