XGBoost的decision tree用的是pre-sorted based的算法,也就是在tree building之前对各维特征先排序,代表性的算法是SLIQ和SPRINT。SLIQ和SPRINT算法的特点决定了树生长的方式是level-wise(breadth-first)的。
而LightGBM的decision tree是histogram based的算法,也就是先将特征离散化,代表性的算法是CLOUDS,Mcrank和Machado。即采用leaf-wise的方式。
参考: