一、ID3算法
ID3算法的核心是在决策树各个结点上应用信息增益准则选择特征,递归地构建决策树。具体方法是:从根结点(root node)开始,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该特征的不同取值建立子结点;再对子结点递归地调用以上方法,构建决策树;直到所有的信息增益均很小或没有特征可以选择为止,最后得到一个决策树,ID3相当于用极大似然法进行概率模型的选择。
二、C4.5生成算法
C4.5算法与ID3算法相似,C4.5算法对ID3算法进行了改进,C4.5在生成过程中,用信息增益比来选择特征。
三、C5.0算法
C5.0是基于C4.5的开发的新版本,是一个商业版软件,它能适用于很多类型的问题,C5.0主要增加了对Boosting的支持,它同时也用更少的内存,与C4.5相比,它构建了更小的规则集,因此它更准确。
四、CART算法
分类与回归树(classification and regression tree, CART)模型是应用广泛的决策树学习方法。CART由特征选择、树的生成及剪枝组成,即可以用于分类也可以用于回归。
CART算法的组成:
(1)、决策树生成:基于训练数据集生成决策树,生成的决策树要尽量大;
(2)、决策树剪枝:用验证数据集对已生成的树进行剪枝并选择最优子树,这时用损失函数最小作为剪枝的标准
CART生成:
决策树的生成就是递归地构建二叉决策树的过程,对回归树用平方误差最小化准则,对分类树用基尼指数(Gini index)最小化准则,进行特征选择,生成二叉树。
五、ID3、C4.5、C5.0算法比较
ID3 |
C4.5 |
C5.0 |
|
缺点 |
非递增算法,单变量决策树,(在分枝节点上只考虑单个属性)只考虑属性变量是离散形 |
1、在构建的过程中需要对数据集进行多次的扫描与排序,因此算法比较低效 2、大数据集乏力,只适用于能够驻留内存的数据集,当训练集大的无法在内存中容纳时,程序无法运行 |
|
优点 |
|
属性变量是可以连续形的,能够在构造过程中进行剪枝 |
1、应用于大数据集的分类算法,主要在执行效率和内存使用上进行了改进 2、在面对数据遗露和输入字段很多的问题时非常稳健 3、提供强大的技术以提高分类的精度 4、比一些其它类型的模型更易于理解,模型退出的规则有非常地直观的解释 |
节点选择 |
信息增益最大 |
信息增益率最大 |
采用Boosting的方式提高模型的准确率,又称为BoostingTree,在软件上计算速度较快,占用内存较小 |
|
|
采用悲观的剪枝方法,它使用训练集生成决策树又用它来进行剪枝,不需要独立的剪枝集 |