决策树算法分析及应用.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
决策树算法分析及应用   摘要:决策树是数据挖掘技术中一种常用的分类方法,易于理解,应用范围广泛。随着对决策树算法的持续深入地研究,以及对应用中发现的问题加以解决和不断改进,提高了决策树的分类速度、精度和实用性,并形成了多种独特的算法。该文以某商业银行信用卡消费为例对决策树及常用算法进行了详细解析,以期在今后使用或改进算法时能提供有益的帮助。   关键词:决策树;测试属性;信息增益;Gini系数;预排序   中图分类号:TP301文献标识码:A文章编号:1009-3044(2009)13-3352-03      1 决策树概述   1.1 决策树方法   决策树也称为判定树,其方法就是利用信息论中的信息增益寻找示例数据库中具有最大信息量的属性字段,建立决策树的一个节点,再根据该属性字段的不同取值建立树的分支;在每个分枝重复建立树的下一个节点和分支的过程。   1.2 决策树的构建   决策树的构建是一种自上而下、分而治之的归纳过程,本质是“贪心”算法[1]。从根节点开始,对每个非叶子节点,找出其对应样本集中的一个测试属性对样本集进行测试,根据不同的测试结果将训练样本集划分成若干个子样本集,每个子样本集构成一个新叶节点,对新叶节点再重复上述划分过程。      2 典型算法分析   决策树典型算法主要有ID3,C4.5,CART,SLIQ,SPRINT等算法,在建树的简洁性,分类快速、准确,可处理数据的范围和规模等方面各有不同。   2.1 ID3算法   ID3算法是利用信息论中的互信息或称信息增益作为属性分割标准[2],通过计算选取属性的信息增益,重复使用信息增益最大的属性作为测试属性将训练集分割成为分枝或叶子结点,完成分割后能使生成树的信息嫡最小,期望非叶子结点到达各叶子结点的平均路径最短,生成的是多叉树。信息增益的计算公式如下:   设训练集S有m个类别,用Ci表示类别标号,对应的记录数为Ni(i=1,2,…,m),则集合S中属性A的信息熵为:    ■(1)   设测试属性A具有a1,a2,…,av等v个不同的属性值,集合S被分成v个子集Sj(j=1,2,…,v),则Sj包含集合S中值为aj的记录。用Sij表示Sj中包含类别Ci的记录数,则测试属性A的期望信息熵为:    ■ (2)   那么,以测试属性A为分割点的信息增益为:    ■ (3)   2.2 C4.5算法   C4.5算法是由ID3算法演变而来的,对训练数据进行预处理,采用信息增益率进行属性分割,并基于分类错误率的剪枝算法对生成树进行修剪,使C4.5算法在分类精度提高的同时,可以处理连续属性和有部分缺失的样本数据。   信息增益率可定义为:    ■(4)   则信息分割量Spliti(A)的计算公式为:    ■ (5)   因后面需用C4.5算法建树和评价,其优缺点和构造过程这里不再详述,具体构造方法和流程详见参考文献[3]。   2.3 CART算法   CART算法采用Gini系数作为测试属性的分割标准,由于Ginisplit(x)系数越小,属性分割后的信息增益越大,则说明x条件下对T的分割越准确。CART算法可因变量或目标变量是离散值或连续值将生成的决策树称为分类树和回归树[4]。利用Gini系数分割的都是二叉树,其公式计算如下:   对于数据集T,包含有n (n≥1)个类别信息,则任一个结点的Gini系数可表示为:    ■(6)   其中Pi是类别i在T中出现的概率,如果在x条件下将T分割为T1和T2时,则分割后的Gini系数为:    ■(7)   其中,S为T中样本总数,S1,S2分别为T1,T2中的样本总数。   CART算法可采用验证和交叉验证技术提前终止分割,也可将分割的不纯度作为终止分割的阀值。有关CART各种剪枝算法及其性能比较详见参考文献[5]。   2.4 SLIQ算法   SLIQ算法是一种具有较好伸缩性的快速分类算法,采用了属性表和类表等数据结构,预排序和广度优先搜索的方法。当进行分裂属性时,依次扫描每个属性表,对每个属性表,每扫描一项时,根据样本序号找到相应类表中的项,修改其类分布直方图。对于连续属性,每扫描属性表中的一项就计算当前分割的GINI系数,所需的分布信息可由直方图取得;对于散属性,待扫描完属性表后得出最佳分割子集。接着,根据得到的分割方案,当前决策树生成新的叶子节点,将样本按测试条件重新分到新的叶子节点中,修改类表中的各项。由于类表常驻主存,属性表驻留辅存,SLIQ算法解决了训练数据及属性规模不能超过主存空间的限制。SLIQ算法的模型构造过程详见参考文献[6-7]。   2.5 SPRINT算法   SPRINT算法删除了在

文档评论(0)

heroliuguan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档