算法应用杂谈-xgboost的偏差

一个小样本的cvr 估计问题中, 考虑用xgboost 模型. 发现结果的估计偏差很大. 仔细研究后, 发现现象:

  • 迭代步数不多, 一般3,5步就停了.
  • 预测的分数偏差很大, 分布不匀. pcoc很大. 注: pcoc = 分数均值/ 正样本占比 - 1
  • 类似的参数用 lightgbm跑则比较正确.

仔细分析发现是因为迭代不够充分情况下, 会产生这个问题. 可以通过一个参数调整解决, 方法为:

  • 将base_score 设置为 正样本占比, 可以解决偏差大的问题. 但auc 可能变低, 需要相应的调整参数.
{
'min_child_weight': 100,
'lambda': 1,
'alpha': 1,
'base_score':0.012,
'grow_policy': 'lossguide',
'min_split_loss': 0.001
}
posted @ 2020-02-01 16:45  bregman  阅读(464)  评论(0编辑  收藏  举报