GBDT (Gradient Boosting Decision Tree)
是机器学习中一个长盛不衰的模型,其主要思想是利用弱分类器(决策树)迭代训练以得到最优模型,该模型具有训练效果好、不易过拟合等优点。GBDT不仅在工业界应用广泛,通常被用于多分类、点击率预测、搜索排序等任务;在各种数据挖掘竞赛中也是致命武器,据统计Kaggle上的比赛有一半以上的冠军方案都是基于GBDT。
LightGBM(Light Gradient Boosting Machine)
是一个实现GBDT算法的框架,支持高效率的并行训练,并且具有更快的训练速度、更低的内存消耗、更好的准确率、支持分布式可以快速处理海量数据等优点。
优势1
速度和内存使用的优化
减少分割增益的计算量
通过直方图的相减来进行进一步的加速
减少内存的使用 减少并行学习的通信代价
稀疏优化
准确率的优化
Leaf-wise (Best-first) 的决策树生长策略
类别特征值的最优分割
网络通信的优化
并行学习的优化
特征并行
数据并行
投票并行
GPU 支持可处理大规模数据
自动处理缺失值2
lightGBM通过默认方式处理缺失值,可以通过设置use_missing = false 来使其无效
lightGBM通过默认的方式用NA(NaN)去表示缺失值,可以通过设置zero_as_missing = true 将其变为0
当设置zero_as_missing = false(默认)时,在稀疏矩阵里(和lightSVM),没有显示的值视为0
当设置zero_as_missing = true时,NA和0(包括在稀疏矩阵里,没有显示的值)视为缺失
变量分布可视化
其次查看连续型变量在不同y值上的分布