XGBOOST

 在XGBoost里,每棵树是一个一个往里面加的,每加一个都是希望效果能够提升,下图就是XGBoost这个集成的表示(核心)

一开始树是0,然后往里面加树,相当于多了一个函数,再加第二棵树,相当于又多了一个函数...等等,这里需要保证加入新的函数能够提升整体对表达效果。提升表达效果的意思就是说加上新的树之后,目标函数(就是损失)的值会下降。

如果叶子结点的个数太多,那么过拟合的风险会越大,所以这里要限制叶子结点的个数,所以在原来目标函数里要加上一个惩罚项「omega(ft)」。
 

 

XGBoost算法完整的目标函数见下面这个公式,它由自身的损失函数和正则化惩罚项「omega(ft)」相加而成。 

 一阶导二阶导的梯度数据都是可以算出来的,只要指定了主函数中的两个参数,这就是一个确定的值。下面给出一个直观的例子来看下这个过程

 

(这里多说一句:Obj代表了当我们指定一个树的结构的时候,在目标上最多会减少多少,我们可以把它叫做结构分数,这个分数越小越好)

对于每次扩展,我们依旧要枚举所有可能的方案。对于某个特定的分割,我们要计算出这个分割的左子树的导数和和右子数导数和之和(就是下图中的第一个红色方框),然后和划分前的进行比较(基于损失,看分割后的损失和分割前的损失有没有发生变化,变化了多少)。遍历所有分割,选择变化最大的作为最合适的分割。
 

使用xgb : https://blog.csdn.net/sinat_35512245/article/details/79668363

学到的知识有:

1,流程:

拿到数据:pandas 读取

查看数据:data.info()

粗略特征选择或者是缺失值处理:

1,data.iloc,data.loc选择数据,

2,进行缺失值处理:sklearn.preprocessing.Imputer(missing_values=’NaN’, strategy=’mean’, axis=0, verbose=0, copy=True)

3,特征选择:

对于回归问题f_regression, mutual_info_regression对于分类问题: chi2, f_classif, mutual_info_classif

建立基本模型

查看特征的重要性:from xgboost import plot_importance

 

优化:

1,重新进行特征选择:sklearn.feature_selection

2,标签标准化:sklearn.preprocessing.LabelEncoder

 

调参:https://segmentfault.com/a/1190000014040317 

 

学到的知识:

调参工具:sklearn.model_selection.GridSearchCV  

1,得分函数的选择:scoring 

2,一般来说需要调整的参数有:

learning_rate: 0.1

  • n_estimators: 500

  • max_depth: 5

  • min_child_weight: 1 最小叶子节点样本权重的和

  • subsample: 0.8 控制对于每棵树,随机采样的比例

  • colsample_bytree:0.8 每次生成树的时候随机选取 列数 的比例

  • gamma: 0 指定了节点分裂所需的最小损失函数下降值

  • reg_alpha: 0 权重的L1正则化项。(Lassoregression类似)。 可以应用在很高维度的情况下,使得算法的速度更快

  • reg_lambda: 1控制XGBoost的正则化部分

参数解释:http://www.sohu.com/a/291104957_99917536

数据预处理:https://www.jianshu.com/p/88f6912fcda2

xgboost 和gbdt的区别:http://www.cnblogs.com/fujian-code/p/9018114.html

XGBOOST从原理到实战:二分类 、多分类 https://blog.csdn.net/HHTNAN/article/details/81079257

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值