1、什么是决策树
决策树算法的目的是通过向数据学习,获得输入变量和输出变量不同取值下的数据分类和预测规律,并用于对新数据对象的分类预测。届时,决策树能够依据新数据输入变量的取值,推断其输出变量的分类取值。决策树算法属于有指导的学习,要求数据既包含输入变量也包含输出变量。
图1——典型的决策树
图1中,最下面的节点称为根节点,中间节点称为内部节点,同层节点称为兄弟节点,最上面的节点称为叶节点。称树的每个节点都只能生长出两个分枝的树为2叉树,如果能够长出多于两个分枝,则称为多叉树。决策树的直观性和易懂性是其他算法无法媲美的。
通常,决策树包括分类决策树和回归决策树两种,分别简称分类树和回归树。分类树实现对分类型输出变量的分类,回归树则完成对数值型输出变量取值的预测。分类或预测的结果均体现在决策树的叶节点上。分类树叶节点所含样本中,其输出变量的众数类别就是分类结果;回归树叶节点所含样本中,其输出变量的平均值就是预测结果。因此,对新数据进行分类预测时,只需按照决策树的层次,从根节点开始依次对新数据输入变量值进行判断并进入不同的决策树分枝,直至叶节点为止。
针对图1的决策树,其布尔比较可以描述为:
IF (overlook=overcast) THEN play;
IF (overlook=sunny) & (humidity<=70) THEN play;
IF (overlook=sunny) & (humidity>70) THEN don’t play;
IF (overlook=rain) & (windy=true) THEN don’t play;
IF (overlook=rain) & (windy=false) THEN play;
布尔比较形式表述的就是一种推理规则,每个叶节点都会对应一条推理规则,它们是新数据对象分类预测的依据。
2、C5.0决策树
本章实例分析主要基于C5.0决策树生成算法进行分类。C5.0算法最早(20世纪50年代)的算法是亨特CLS(Concept Learning System)提出,后经发展由J R Quinlan在1979年提出了著名的ID3算法,主要针对离散型属性数据;C4.5是ID3后来的改进算法,它在ID3基础上增加了:对连续属性的离散化;C5.0是C4.5应用于大数据集上的分类算法,主要在执行效率和内存使用方面进行了改进。优点:在面对数据遗漏和输入字段很多的问题时非常稳健;通常不需要很长的训练次数进行估计;比一些其他类型的模型易于理解,模型推出的规则有非常直观的解释;也提供强大的增强技术以提高分类的精度。