项目6决策树和决策规则

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

项目6 决策树和决策规则

6.1 实验目的

(1)掌握使用决策树进行分类决策的操作方法,并学会对结果进行解释、提取合理的分类规则;

(2)理解决策树模型相对于其他预测模型(如神经网络)的优势所在,如它的决策模型可以为自然语言构成的规则或为逻辑陈述;

(3)了解较为流行的决策树模型的不同特征,如CHAID和CART;

(4)了解决策树模型中的替代规则对于处理缺失值的优势,掌握操作方法;

(5)学会使用决策树模型进行变量选择。

6.2 实验原理

数据库内容丰富,蕴藏大量信息,可以用来作出智能的决策。分类和预测是数据分析的两种形式,可以用来提取描述重要数据类的模型或预测未来的数据趋势。分类是预测分类标号,而预测建立连续值函数模型。在本章中,我们将学习利用决策树进行数据分类的技术。

决策树是一个类似于流程图的树结构,其中每个内部节点表示在一个属性上的测试,每个分枝代表一个测试输出,而每个树叶节点代表类或类分布。树的最顶层节点是根节点。有些决策树算法只产生二叉树,而另一些决策树算法可以产生非二叉树。

对于一个需要进行分类的数据,我们可以利用该数据的各个属性的值,在决策树的包括根节点在内的节点上对相应的数据的属性进行测试,这样就形成了一条由顶到底的或从根节点到某个叶子节点的路径。该数据所到达的叶子节点给出了该数据所应归属的类。

决策树容易转换成为分类规则。我们可以根据需要分类的数据在决策树中所经过的所有可能的路径得到一组分类规则,并利用分类规则对数据进行分类。

决策树的构造不需要任何领域知识或参数设置,因此适合于探测式知识发现。决策树可以处理高维数据。获取的知识用树的形式表示是直观的,并且容易理解。

决策树建立时,许多分枝可能反映的是训练数据中的噪声或离群点。树剪枝试图识别并剪去这种分枝,以提高对未知数据分类的准确性。

6.2.1 决策树归纳

目前比较有名的决策树算法大概有上百种,其中,最有影响的当属ID3、C4.5、C5.0,

以及CART和CHAID。

ID3(Iterative Dichotomiser)是在20世纪70年代和80年代初期,机器学习研究者J. Ross Quinlan开发的决策树算法,称作“迭代的二分器”。由于ID3仅能处理离散变量,因此,后来Quinlan在其基础上提出了C4.5,分割标准用的是基于信息论的“熵”(Entropy),成为了新的监督学习算法的性能比较基准。不过,C4.5只能进行L型分叉、后向修剪。另外,C4.5有一个商品化的后继,称作C5.0。ID3、C4.5都采用贪心(即非回溯的)方法,其中决策树以自顶向下递归的分治方式构造。大多数决策树归纳算法都沿用这种自顶向下的方法,从训练集和它们的相关联的类标号开始构造决策树。随着树的构建,训练集递归地划分成较小的子集。

CART(Classification and Regression Tree)也称分类回归树,是L. Breiman, J. Friedman, R.Olshen和C. Stone 等几位统计学家于1984年提出的,CART只能进行二部分叉、后向修剪,分割标准用的是基尼系数(Gini Index)。CHAID(Chi-squared Automatic Interaction Detection)也称卡方自动交互检测法,主要特征是多向分叉,前向修剪,采用卡方检测法,CHAID只能处理类别型的输入变量,因此连续型的输入变量首先要进行离散处理。

总之,CHAID、CART和C4.5应该算是决策树算法中最有名、商业上运用最成功的算法了。

6.2.2 属性选择度量

属性选择度量是一种选择分裂准则,将给定的类标记的训练元组的数据划分“最好”地分成个体类的启发式方法。如果要根据分裂准则的输出将数据划分分成较小的划分,理想地,每个划分是纯的(即落在给定划分的所有元组都属于相同的类)。从概念上讲,“最好”的分裂准则是导致最接近这种情况的划分。属性选择度量又称分裂规则,因为它们决定给定节点上的元组如何分裂。属性选择度量提供了每个属性描述给定训练元组的秩评定。具有最好度量得分的属性被选作给定元组的分裂属性。如果分裂属性是连续值得或者限于构造二叉树,则一个分裂点或一个分裂子集也必须作为分裂准则的一部分确定。为数据划分创建的树节点用分裂准则标记,从准则的每个输出生长出分枝,并且相应地划分元组。

流行的属性选择度量如信息增益、增益率和Gini指标。这些度量并非无偏的。信息增益偏向于多值属性。尽管增益率调整了这种偏倚,但是它倾向于不平衡的分裂,其中一个划分比其他划分小得多。Gini指标偏向于多值属性,当分类的数量很大时会有困难,并且倾向于导致相等大小的划分和纯度。尽管是有偏的,但这些度量在实践中产生相当好的结果。

ID3使用信息增益作为属性选择度量。该度量基于Claude Shannon在研究消息的值或“信息内容”的信息论方面的先驱工作。选择具有最高信息增益的属性作为节点的分裂属性。该属性使结果划分中的元组分类所需的信息量最小,并反映这些划分中的最小随机性或“不纯性”。这种方法使对给定元组分类所需的期望测试数目最小,并确保找到一棵简单的(但

不必是最简单的)树。C4.5使用称作增益率的信息增益扩充,试图克服信息增益的偏倚。它使用“分裂信息”值将信息增益规范化,选择具有最大增益率的属性作为分裂属性。

还有很多其他的属性选择度量,如C-SEP和G统计量等。流行的CHAID算法则使用一种 检验的属性选择度量。

基于独立统计2

6.2.3 树剪枝

在决策树创建时,由于数据中的噪声和离群点,许多分枝反映的是训练数据中的异常。剪枝方法处理这种过分拟合数据的问题。通常使利用统计度量剪去最不可靠的分枝。剪枝后的树更小、复杂度更低,在对独立检验数据分类时比未剪枝的树更快、更好。

有两种常用的剪枝方法:先剪枝和后剪枝。

在先剪枝方法中,通过提前停止树的构造而对树“剪枝”。一旦停止,该节点成为树叶。该树叶可能有子集元组中最频繁的类或这些元组的概率分布。在构造树时,可以使用如统计显著性、信息增益、Gini指标等度量评估分裂的优劣。如果划分一个节点的元组导致低于预定义阀值的分裂,则给定子集的进一步划分停止。

后剪枝方法是由“完全生长”的树剪去子树。通过删除节点的分枝并用树叶替换它而剪掉给定节点的子树。树叶用被替换的子树中最频繁的类标记。

作为选择,对于组合方法,先剪枝和后剪枝可以交叉使用。后剪枝所需的计算比先剪枝多,但是通常产生更可靠的树。

CART使用的代价复杂度剪枝算法是一种后剪枝方法。C4.5使用悲观剪枝方法,类似于代价复杂度方法,用错误率评估对子树剪枝作出决定。

6.3 实验数据

本次实验将重点学习如何利用决策树进行分类决策的操作方法,并根据结果提取出合理的决策规则。

本次实验选用的数据集为“CoIL 2000 Challenge”的竞赛数据,可在UCI机器学习库中找到。它是一个保险公司的交叉销售方面的数据,数据来源于/databases/tic/tic.data.html。该集合中包含了调查对象的家庭成员、财产、收入以及参加保险等方面的情况。该数据已给出,其中ticdata2000.txt为训练和验证数据集,ticeval2000.txt为预测数据集(与ticdata2000.txt格式相同,除了不包含目标变量,其目标变量另见tictgts2000.txt),数据各变量说明见表6.1,具体可参见文件TicDataDescr.txt,包括了所有对目标变量(CARA V AN Number of mobile home policies)具有影响的指标,主要为已经购买保险的数量、收入、拥有房子数量等,总共有为85个,前43个为社会人口统计数据,其他为产品相关数据。本实验的目的是通过对已有客户的分析找到潜在的对“caravan

相关文档
最新文档