简介:本文作者从实际应用出发,对现存数据挖掘决策树分类方法进行了研究,并应用到系统当中,实现了决策支持模块。关键词数掘挖掘;决策树算法;改进;实现中图分类号TP301.6文献标识码A文章编号1007-9599(2010)04-0000-02DataMiningDecisionTreeImprovement&ImplementationXiaYan,ZhouXiaohong,WangDong(ChangchunTechnologyCollege,Changchun130033,China)AbstractTheauthorstudiedonexistingDataMiningdecisiontreeclassificationmethodbasedonthepracticalapplication,andappliedtothesystem,achievedadecisionsupportmodule.KeywordsDataMining;Decisiontreealgorithm;Improve;Achieve随着数据库技术的不断发展及数据库管理系统的广泛应用,数据库中存储的数据量急剧增大,在大量的数据背后隐藏着许多重要的信息,如果能把这些信息从数据库中抽取出来,将会产生重要的作用。因此,数据挖掘涉及的学科领域逐渐扩大,数据挖掘的方法也在不断地改进和提高。分类在数据挖掘中是一项非常重要的任务,分类算法可以分为决策树分类算法、遗传算法、神经网络方法、K-最近邻分类算法等。这里,以疾病防控与儿童免疫管理系统中决策支持子系统的开发过程为例,对决策树分类算法的改进及在实际中的应用进行阐述。一、数据选取和数据预处理在本系统中,以预防接种中遇到异常反应后记录的“异常反应调查表”中的数据为例进行说明。具体实现过程详细说明首先输入训练集,由于在真实的SQLServer数据库当中,为了降低存储要求和减少存储时间,并非真正存储每个数据项的属性值,而是用存储数字来对应相应的意义,如在数据库的数据表中,“性别”字段中“1”代表“男”、“2”代表“女”,反应到程序页面时再映射回原来的值,为了说理清晰又限于篇幅,这里只将所有数据集中有代表性的十几组数据作为分类模型创建的输入训练集。表1判断是否需要计划外加强免疫的属性表儿童编号月龄出生状态常住地上次注射后反应是否需要计划外加强免疫0405102<=2正常产城市无不良反应否0405495<=2正常产农村无不良反应否0401342>5正常产城市无不良反应是04054352…5正常产城市轻度反应是04065342…5非正常产城市重度反应是04072342…5非正常产农村重度反应否0401544>5非正常产农村重度反应是0408519<=2正常产城市轻度反应否0404566<=2非正常产城市重度反应是04035472…5非正常产城市轻度反应是0401534<=2非正常产农村轻度反应是0405856>5正常产农村轻度反应是0409533>5非正常产城市无不良反应是04053442…5正常产农村轻度反应否二、生成决策树对训练集的每一个属性,计算其信息增益。以“月龄”属性为例,每个结点中的正反例的个数分别为[2,3]、3,2、4,0,分别计算如下info2,3==0.971;info3,2==0.971;info4,0=0;计算信息熵E(月龄)==0.693;计算该属性的信息增益量,选取信息增益最大的属性为节点,按该属性的值划分数据集合Gain(月龄)=Info(9,5)-E(月龄)=0.940-0.693=0.247;同理,对“注射反应”属性、“出生状态”属性、“常住地”属性都可计算每个结点的正反例的个数(由于篇幅有限,不作计算)。通过对各属性信息增益的计算结果,选择“月龄”属性作为根节点,然后划分“月龄<=2”的所有可能性。计算当“月龄<=2”时,“注射反应”、“出生状态”、“常住地”的信息增益值Gain(注射反应)=Info(2,3)-E(注射反应)=0.971-0.4=0.571;Gain(出生状态)=Info(2,3)-E(出生状态)=0.971-0=0.971;Gain(常住地)=Info(2,3)-E(常住地)=0.972-0.951=0.020;同理考虑“月龄>5”的情况,由于“月龄>5”时,各个节点都是纯节点,所以不再划分。三、产生决策规则遍历决策树,输出叶结点类属性值,用IF—THEN形式表达为IF(月龄2…5AND注射反应=无)THEN(类别=是)IF(月龄2…5AND注射反应=轻)THEN(类别=是)IF(月龄2…5AND注射反应=重AND出生状态=正常产)THEN(类别=是)IF(月龄2…5AND注射反应=重AND出生状态=非正常产AND常住地=城市)THEN(类别=否)IF(月龄2…5AND注射反应=重AND出生状态=非正常产AND常住地=农村)THEN(类别=是)……依此类推,共可产生十三条规则。四、决策支持子系统的分析用上述基于决策树的分类算法所得到的模型生成的规则来预测测试集中的未知数据属于哪一类,并通过该模型的测试结果与实际情况相吻合的准确率来判断该决策树是否有效。首先,用整个数据集中2/3的数据作为训练集按照基于决策树的分类算法来建立模型,生成一棵决策树。然后,用余下的1/3的数据作为测试集,通过创建的模型进行预测,并将预测结果和实际值进行比较。如果准确率达到或超过事先确定的阈值,则可以认定该模型对于数据分类是有效的,能够在实际中应用;反之,则认定该模型的分类效果不好,需要按以上步骤来重新判断,直到分类准确率达到预定的阈值为止。在本系统中,经过测试预测准确率已达到87%,在可以接受的范围内,所以算法是有效、可行的。参考文献1陈文伟,黄金才.数据仓库与数据挖掘.人民邮电出版社,20042王万森.人工智能原理及应用.电子工业出版社,20003范明,孟小峰.数据挖掘——概念与技术.机械工业出版社,2001作者简介夏琰(1980-),女,吉林长春人。长春职业技术学院信息技术分院,教师,讲师,硕士,研究方向为计算机应用。