XGboost调参指南

原版的说明

https://www.dataiku.com/learn/guide/code/python/advanced-xgboost-tuning.html

简洁的调参指南

https://www.kaggle.com/tanitter/grid-search-xgboost-with-scikit-learn?scriptVersionId=23363

具体的参数

http://blog.csdn.net/q383700092/article/details/53763328

网格搜索

可以先固定一个参数 最优化后继续调整

第一步:确定学习速率和tree_based 给个常见初始值 根据是否类别不平衡调节

max_depth,min_child_weight,gamma,subsample,scale_pos_weight

max_depth=3 起始值在4-6之间都是不错的选择。

min_child_weight比较小的值解决极不平衡的分类问题eg:1

subsample, colsample_bytree = 0.8: 这个是最常见的初始值了

scale_pos_weight = 1: 这个值是因为类别十分不平衡。

第二步: max_depth 和 min_weight 对最终结果有很大的影响

‘max_depth’:range(3,10,2),

‘min_child_weight’:range(1,6,2)

先大范围地粗调参数,然后再小范围地微调。

第三步:gamma参数调优

‘gamma’:[i/10.0 for i in range(0,5)]

第四步:调整subsample 和 colsample_bytree 参数

‘subsample’:[i/100.0 for i in range(75,90,5)],

‘colsample_bytree’:[i/100.0 for i in range(75,90,5)]

第五步:正则化参数调优

‘reg_alpha’:[1e-5, 1e-2, 0.1, 1, 100]

‘reg_lambda’

第六步:降低学习速率

learning_rate =0.01,

你可能感兴趣的:(XGboost调参指南)