一个小样本的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
}