xgboost 算法参数解释

 

xgboost 算法

目前集成学习方法大致可分为两大类:

第一类是个体学习器之间存在强依赖关系、必须串行生成的序列化方法,这种方法的代表是“Boosting”;

第二类是个体学习器间不存在强依赖关系、可同时生成的并行化方法,它的代表是“Bagging”和“RandomForest”

 boosting:提升方法是一个迭代的过程,通过改变样本分布,使得分类器聚集在那些很难分的样本上,对那些容易错分的数据加强学习,增加错分数据的权重,这样错分的数据再下一轮的迭代就有更大的作用(对错分数据进行惩罚)。数据的权重有两个作用,一方面我们可以使用这些权值作为抽样分布,进行对数据的抽样,另一方面分类器可以使用权值学习有利于高权重样本的分类器。 

 

 

 

xgboost中的 XGBClassifier 方法:

XGBClassifier(max_depth, learning_rate, n_estimators, silent, objective, booster, n_jobs,
 nthread, gamma, min_child_weight, max_delta_step, subsample, colsample_bytree, 
 colsample_bylevel, reg_alpha, reg_lambda, scale_pos_weight, base_score, random_state, 
 seed, missing)

3.参数解释:

  1. max_depth :每棵二叉树的最大深度,默认是6; 值越大,越容易过拟合,越小,容易欠拟合
  2. learning_rate (原来是eta):学习率,控制每次迭代更新权重的步长,默认0.3,值越小,训练越慢。常用:0.01-0.2
  3. n_esitimator:  决策树的棵树,即总共迭代的次数
  4. silent: silent=0,为输出中间过程;1 为不输出中间过程,IDE会输出运行状态。默认是0, 输出运行状态,方便理解。其实设置为 1 时,还是会打印输出。
  5. objective 目标函数(可自定义目标函数):使用方法: objective = 'reg:linear'

回归任务

  • reg:linear (默认)
  • reg:logistic

二分类

  • binary:logistic     概率 
  • binary:logitraw   类别

多分类

  • multi:softmax  num_class=n   返回类别
  • multi:softprob   num_class=n  返回概率

rank:pairwise

  1. booster : 设置基分类器: booster = gbtree 以树模型为基分类器; gblinear 以线性模型为基分类器
  2. gamma: 惩罚系数
  3. min_child_weight:最小叶子结点权重
  4. max_delta_step:
  5. subsample:随机选择  多少样本建立决策树 ,float 型,如:0.8 取80 % 的样本
  6. colsample_bytree:随机选择多少样本特征建立决策树
  7. reg_alpha:L1 正则化系数 float
  8. reg_lambda:L2 正则化系数
  9. scale_pos_weight:解决样本个数不平衡问题,设置正样本的权重。当正负样本比例为1::10时,scale_pos_weight=10 
  10. random_state, seed: 随机种子,使用random_state 

XGBClassifier().fit() 参数

fit(self, X, y, sample_weight=None, eval_set=None, eval_metric=None, early_stopping_rounds=None, verbose=True, xgb_model=None, sample_weight_eval_set=None)

参数解释:

  1. sample_weight: 样本权重
  2. eval_set:  list 型,如:eval_set = [(X_test, y_test)],。 设置自定义样本,将使用列表的样本作为验证集,当迭代几次分数没提高,则终止。与 4 相关。
  3. eval_metric:  评估标准。 使用方法: eval_metric = 'error' 
  • 回归任务(默认rmse)
    • rmse--均方根误差
    • mae--平均绝对误差
  • 分类任务(默认error)
    • auc--roc曲线下面积
    • error--错误率(二分类)
    • merror--错误率(多分类)
    • logloss--负对数似然函数(二分类)
    • mlogloss--负对数似然函数(多分类)
  1. early_stopping_rounds: int 型,当连续迭代几次时,分数没有提高后,提前终止训练。
  2. sample_weight_eval_set:  list 型, 每个特征样本作为验证集的权重。

 

 

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值