首页 > 其他 > 详细

xgboost 优势和常规步骤

时间:2020-05-22 15:42:05      阅读:76      评论:0      收藏:0      [点我收藏+]

https://www.analyticsvidhya.com/blog/2016/03/complete-guide-parameter-tuning-xgboost-with-codes-python/

 

优势

1、正则化

2、并行计算

3、可以处理空值(怎么处理?)

5、不是贪心算法。会先分到最大深度max_depth然后再进行剪枝。可以得到增益最有解。

6、有一个内置的交叉验证

7、可以在原模型上接着训练(fine_tuning? 迁移学习?)

 

短语参数命名规则。现在在xgboost的module中,有一个sklearn的封装。在这个module中命名规则和sklearn的命名规则一致。

  1. eta –> learning_rate
  2. lambda –> reg_lambda
  3. alpha –> reg_alpha

 

参数

1、基本配置参数

booster: 基本使用gbtree,使用树模型,这个效果一般

silent 通常设为0,方便我们查看每轮的loss

nthread: 多线程,如果不设置,算法会自动查看核心数进行并行计算。

 

2、Booster参数

eta(learning rate):  学习率 0.01-0.2

min_chile_weight: 子节点的最低sum of weights。 高的时候预防过拟合,太低了容易欠拟合。

max_depth:树的最大深度,太高容易过拟合。通常3-10

gamma: loss阈值,loss降低超过这个阈值,就继续切分

max_delta_step:In maximum delta step we allow each tree’s weight estimation to be.,通常不用

subsample: 通常0.5-1 构建每棵树时,只取一部分样本进行构建,避免过拟合

colsample_bytree:[0.5-1] 特征抽样,

colsample_bylevel : 通常不用

lambda: L2 regularization term on weights (通常不用?)

alpha: L1 regularization term

scale_pos_weight

 

3、训练参数

objective 二分类使用‘binary:logistic‘  多分类使用 ‘multi:softmax‘ 直接返回标签, 也可以使用 ‘multi:softprob‘ 或者在训练后使用predict_prob输出类别的概率

eval_metric: 用来评估validation data:rmse ,mae,logloss,error ,merror ,mlogloss,auc

 

xgboost 优势和常规步骤

原文:https://www.cnblogs.com/yjybupt/p/12937286.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!