lightGBM
一、lightGBM的前世今生
1.GBDT(Gradient Boosting Decision Tree)
主要思想是利用弱分类器(决策树)迭代训练以得到最优模型,该模型具有训练效果好、不易过拟合等优点。
可以理解为一个集成学习框架。
2.lightGBM(Light Gradient Boosting Machine)
一个实现GBDT算法的框架,支持高效率的并行训练,并且具有更快的训练速度、更低的内存消耗、更好的准确率、支持分布式可以快速处理海量数据等优点。
3.XGBoost
3.1核心思想
首先,对所有特征都按照特征的数值进行预排序。
其次,在遍历分割点的时候用O(#Data)的代价找到一个特征上的最好分割点。
最后,在找到一个特征的最好分割点后,将数据分裂成左右子节点。
XGBoost的核心就是预排序!
3.2优缺点
1)优点:能准确地找到分割点。(因为他是进行遍历的)
2)缺点:
空间消耗大:算法需要保存数据的特征值,还保存了特征排序的结果 ;在遍历每一个分割点的时候,都需要进行分裂增益的计算,消耗的代价大。
二、lightGBM
- 基于Histogram的决策树算法
- 单边梯度采样(GOSS):把梯度小的剔除掉,只用剩下的样本进行 信息增益。
- 互斥特征捆绑(EFB):高纬度的数据性大多都是稀疏的,EFB相当于降维操作。有效避免不必要0值的计算。
- 带深度限制的Leaf-wise的叶子生长策略:在分裂次数相同的情况下,leaf-wise可以降低更多的误差;但是可能会长出比较深的决策树,产生过拟合,但可以通过增加一个最大深度限制来解决。
- 直接支持类别特征
- 支持高效并行
- Cache命中率优化
lightGBM官方文档:https://lightgbm.readthedocs.io/en/latest/
三、使用lightGBM解决信用卡欺诈问题
代码在码云:https://gitee.com/peng-chongle/light-gbm
数据集太大,码云无法上传
数据集百度网盘链接:
链接:https://pan.baidu.com/s/1PR43LgY1L4oaSegLCzmPHw
提取码:rxb5