python,xgboost使用

接口太多,我看有的博主写的跟官网不太一样,有点晕。

目前主要是用两个接口

#Scikit-Learn的API
from xgboost import XGBClassifier
#xgboost自带API
import xgboost as xgb

XGBClassifier

第一个适配SKlearn库,可以配合fit,predict等方法使用。
介绍下具体参数
XGBClassifier在下面的博客里有
sklearn中xgboost模块的XGBClassifier函数

以下是xgb

General Parameters
  1. booster:{“gbtree”,“dart”,“gblinear”} 前两个是树结构,最后一个是线性结构,采用默认gbtree就行

  2. verbosity,默认为1 ,{0:silent,1:warning,2:info,3:debug},选择为2的话,会在训练的时候输入如图不清楚干嘛的。。。

  3. silent: {0,1} 是否输出;已经暂定使用了

  4. num_pbuffer,不用设置;预测缓冲区的大小,通常设置为训练实例的数量。缓冲器用于保存最后一个提升步骤的预测结果。

  5. nthread:线程数量

  6. num_feature,不用设置

Parameters for Tree Booster
参数名 参数取值 默认值 说明
eta;别名: learning_rate range: [0,1] default=0.3 以防止过拟合。eta会缩小特征权值,使推进过程更加保守
gamma 别名:alias: min_split_loss range: [0,∞] default=0.3 在树的叶节点上进行进一步分区所需的最小损失减少。伽马越大,算法就越保守。
max_depth range: [0,∞] default=6 树的最大深度,越大越容易过拟合
min_child_weight range: [0,∞] default=1 子节点最小的权重。非常容易影响结果,参数数值越大,就越保守,越不会过拟合
max_delta_step range: [0,∞] default=0 越大越保守
subsample range: (0,1] default=1 子样本数目。是否只使用部分的样本进行训练,这可以避免过拟合化。
sampling_method [0,1] default= uniform 用于对训练实例进行采样的方法。uniform等概率采样,
colsample_bytree (0,1] default=1 对列采样
lambda 别名: reg_lambda default=1 L2权重的正则化项。增加这个值会使模型更加保守。
alpha 别名: reg_alpha [0,1] default=0 L1权重的正则化项。增加这个值会使模型更加保守。
tree_method {auto,exact,approx,hist,gpu_hist} default=1 XGBoost中使用的树形构造算法。
scale_pos_weight [0,1] default=1 控制正权值和负权值的平衡,对不平衡类很有用。
Dart Booster
参数名 参数取值 默认值 说明
sample_type uniform,weighted default= uniform 采样算法的类型。
normalize_type tree,forest default= tree 归一化算法的类型。
rate_drop range: [0.0, 1.0] default=0 舍弃上一轮树的比例
one_drop default=0 当启用此标志时,在退出过程中至少会删除一棵树
skip_drop [0.0, 1.0]</
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值