基于R语言的Kaggle案例分析学习笔记(五)

 药店销量预测

本案例大纲:
1、xgboost理论介绍
2、R语言中xgboost相关函数的参数
3、案例背景
4、数据预处理
5、R语言的xgb模型实现代码

1、xgboost理论介绍

      这部分我直接把一些牛人写的关于xgb的理论介绍引用过来了,大家可以直接看以下博客链接资料,既有原理介绍又有代码的函数参数介绍:

       http://blog.csdn.net/a819825294/article/details/51206410

      http://blog.csdn.net/sb19931201/article/details/52557382

      http://blog.csdn.net/sb19931201/article/details/52577592

2、R语言中xgboost相关函数的参数

        R语言的XGBOOST包的参数包括三个方面的参数:常规参数、模型参数和任务参数。通用参数用于选择哪一类分类器,是树模型还是线性模型;模型参数取决于常规函数中选择的模型类型;任务参数取决于学习的场景。

常规数:

booster [default=gbtree] 
选择基分类器
silent [default=0] 
设置成1则没有运行信息输出,最好是设置为0.
nthread [default to maximum number of threads available if not set] 
线程数
num_pbuffer 
[set automatically by xgboost, no need to be set by user] 
缓冲区大小
num_feature 
[set automatically by xgboost, no need to be set by user] 
特征维度

模型参数:

(1)树模型的参数

eta[default=0.3] 

学习率,一般设置小一些。
range: [0,1] 
gamma [default=0] 
后剪枝时,用于控制是否剪枝,值越大,算法越保守。
range: [0,∞] 
max_depth [default=6] 
树的最大深度
范围: [1,∞] 
min_child_weight [default=1] 
这个参数默认是 1,是每个叶子里面 h 的和至少是多少,对正负样本不均衡时的 0-1 分类而言,假设 h 在 0.01 附近,min_child_weight 为 1 意味着叶子节点中最少需要包含 100 个样本。这个参数非常影响结果,控制叶子节点中二阶导的和的最小值,该参数值越小,越容易 overfitting。
range: [0,∞] 
max_delta_step [default=0] 
这个参数在更新步骤中起作用,如果取0表示没有约束,如果取正值则使得更新步骤更加保守。可以防止做太大的更新步子,使更新更加平缓。
range: [0,∞] 
subsample [default=1] 
样本随机采样,较低的值使得算法更加保守,防止过拟合,但是太小的值也会造成欠拟合。
range: (0,1] 
colsample_bytree [default=1] 
列采样,对每棵树的生成用的特征进行列采样.一般设置为: 0.5-1
range: (0,1] 
lambda [default=1] 
权重L2正则化
alpha [default=0] 
权重L1正则化

(2)线性模型参数

lambda[default=0] 
权重L2正则化
alpha [default=0] 
权重L1正则化
lambda_bias 
L2 regularization term on bias, default 0(no

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值