历史回顾:1984年提出的cart,1986年提出的ID3,1993年提出的c4.5
理论上总的来说, C4.5是基于ID3优化后产出的算法,主要优化了关于节点分支的计算方式,优化后解决了ID3分支过程中总喜欢偏向取值较多的属性 ID3是信息增益分支:
而CART一般是GINI系数分支:
C4.5一般是信息增益率分支:
工程上总的来说: CART和C4.5之间主要差异在于分类结果上,CART可以回归分析也可以分类,C4.5只能做分类;C4.5子节点是可以多分的,而CART是无数个二叉子节点; 以此拓展出以CART为基础的“树群”random forest , 以回归树为基础的“树群”GBDT
样本数据的差异: ID3只能对分类变量进行处理,C4.5和CART可以处理连续和分类两种自变量 ID3对缺失值敏感,而C4.5和CART对缺失值可以进行多种方式的处理 只从样本量考虑,小样本建议考虑c4.5、大样本建议考虑cart。c4.5处理过程中需对数据集进行多次排序,处理成本耗时较高,而cart本身是一种大样本的统计方法,小样本处理下泛化误差较大
目标因变量的差异: ID3和C4.5只能做分类,CART(分类回归树)不仅可以做分类(0/1)还可以做回归(0-1) ID3和C4.5节点上可以产出多叉(低、中、高),而CART节点上永远是二叉(低、非低)
样本特征上的差异: 特征变量的使用中,多分的分类变量ID3和C4.5层级之间只单次使用,CART可多次重复使用
决策树产生过程中的优化差异: C4.5是通过枝剪来修正树的准确性,而CART是直接利用全部数据发现所有树的结构进行对比