相关文章推荐
礼貌的米饭  ·  nodejs ...·  5 月前    · 
寂寞的茶叶  ·  ##vim的常用功能和find ...·  1 年前    · 
慷慨的蚂蚁  ·  hadoop - Name node is ...·  1 年前    · 
含蓄的作业本  ·  Connecting to MySQL ...·  1 年前    · 

XGBoost实战和参数详解

xgboost优点

  • 正则化
  • 并行处理?
  • 灵活性,支持自定义目标函数和损失函数,二阶可导
  • 缺失值的处理
  • 剪枝,不容易过拟合
  • 内置了交叉验证

参数的设置

params = {
    'booster': 'gbtree',            
    'objective': 'multi:softmax',  # 多分类的问题
    'num_class': 10,               # 类别数,与 multisoftmax 并用
    'gamma': 0.1,                  # 用于控制是否后剪枝的参数,越大越保守,一般0.1、0.2这样子。
    'max_depth': 12,               # 构建树的深度,越大越容易过拟合
    'lambda': 2,                   # 控制模型复杂度的权重值的L2正则化项参数,参数越大,模型越不容易过拟合。
    'subsample': 0.7,              # 随机采样训练样本
    'colsample_bytree': 0.7,       # 生成树时进行的列采样
    'min_child_weight': 3,
    'silent': 1,                   # 设置成1则没有运行信息输出,最好是设置为0.
    'eta': 0.007,                  # 如同学习率
    'seed': 1000,
    'nthread': 4,                  # cpu 线程数