GBDT原理及利用GBDT构造新的特征-Python实现

                                                                                                                                                                                                                                                               

GBDT原理及利用GBDT构造新的特征-Python实现

向AI转型的程序员都关注了这个号????????????

机器学习AI算法工程  公众号: datayx

 loveai.tech

AI图谱,一个全新的IT技术分享社区


  1. 背景

1.3 GBDT应用-回归和分类

GBDT分类:每一颗树拟合当前整个模型的损失函数的负梯度,构建新的树加到当前模型中形成新模型,下一棵树拟合新模型的损失函数的负梯度。下面是其在Python的sklearn包下简单调用方法。

GBDT原理及利用GBDT构造新的特征-Python实现

GBDT回归:每一颗树拟合当前整个模型的残差,构建新的树加到当前模型中形成新模型,下一棵树拟合新模型的损失函数的负梯度。

GBDT原理及利用GBDT构造新的特征-Python实现

GBDT调参问题:sklearn中GBDT调参

http://chuansong.me/n/296022746725

GBDT运用的正则化技巧,防止模型过于复杂,参考这篇文章GBDT运用的正则化技巧

https://chuan92.com/2016/04/11/regularization-on-gbdt

2. GBDT构建新的特征思想

https://www.baidu.com/s?wd=Facebook&tn=24004469_oem_dg&rsv_dl=gh_pl_sl_csd

    在预测Facebook广告点击中,使用一种将决策树与逻辑回归结合在一起的模型,其优于其他方法,超过3%。

GBDT原理及利用GBDT构造新的特征-Python实现

   

上图为混合模型结构。输入特征通过增强的决策树进行转换。 每个单独树的输出被视为稀疏线性分类器的分类输入特征。 增强的决策树被证明是非常强大的特征转换。

GBDT原理及利用GBDT构造新的特征-Python实现

其中kaggle竞赛一般树的数目最多为30,通过GBDT转换得到特征空间相比于原始ID低了很多。

4. 源码内容

具体kaggle-2014-criteo实现的GitHub源码:https://github.com/guestwalk/kaggle-2014-criteo

GBDT原理及利用GBDT构造新的特征-Python实现

generate GBDT features:

GBDT原理及利用GBDT构造新的特征-Python实现

GBDT原理及利用GBDT构造新的特征-Python实现

FFM详细资料>>

https://www.csie.ntu.edu.tw/~r01922136/slides/ffm.pdf

5. Python实现

GBDT原理及利用GBDT构造新的特征-Python实现

这只是一个简单的demo,具体参数还需要根据具体业务情景调整。

总结


阅读过本文的人还看了以下:

不断更新资源

深度学习、机器学习、数据分析、python

 搜索公众号添加: datayx  

GBDT原理及利用GBDT构造新的特征-Python实现

长按图片,识别二维码,点关注

GBDT原理及利用GBDT构造新的特征-Python实现