决策树算法的最新研究进展整理得挺到位的,尤其是针对大数据环境下的优化点,讲得蛮细。像 C4.5 和 CART 这些经典算法,多人平时用但不一定搞清了背后的逻辑。这篇文章不仅把基础原理重新梳理了一遍,还总结了最近五大优化方向,比如引入集成学习、预排序、大数据集的 SLIQ、SPRINT 等,读完会有种‘哦,原来现在已经做到这一步了’的感觉。

优化构建过程这块挺实用,比如用信息增益率代替信息增益,就能属性偏差的问题。像用基尼系数来分裂,连续值的表现也还不错。

支持大数据的 SLIQ 和 SPRINT 值得一看,内存小也能跑得动树,而且效率还挺高。你做大规模数据分类任务的话,这两个算法可以重点研究一下。

集成学习那块像AdaBoostGradient Boosting,确实比单棵树稳多了。多个弱分类器投票,提升准确率又抗过拟合。

预加速就更好理解了,比如预排序,提前排好顺序,树构建快多了,效率提升。

可伸缩性相关的CLOUDSSSE啥的,主要是超大数据集内存放不下的问题,能采样+分布式,蛮有实操价值。

要提醒一下,虽然优化了不少,但决策树对噪声还是比较敏感,特征选择也容易出偏差。如果你数据不平衡,可以考虑配合 SMOTE 或者切换算法。

哦对了,如果你想看下具体代码或想搞个MATLAB演示,下面这些链接也还不错:

如果你最近在搞分类模型优化,或者正好在啃数据挖掘方向的论文,这篇真可以看看,信息量蛮大的。