数据挖掘决策树算法的改进与实现

时间:2022-10-26 09:31:39

数据挖掘决策树算法的改进与实现

摘要:本文作者从实际应用出发,对现存数据挖掘决策树分类方法进行了研究,并应用到系统当中,实现了决策支持模块。

关键词:数掘挖掘;决策树算法;改进;实现

中图分类号:TP301.6 文献标识码:A文章编号:1007-9599 (2010) 04-0000-02

Data Mining Decision Tree Improvement&Implementation

Xia Yan,Zhou Xiaohong,Wang Dong

(Changchun Technology College,Changchun130033,China)

Abstract:The author studied on existing Data Mining decision tree classification method based on the practical application,and applied to the system,achieved a decision support module.

Keywords:Data Mining;Decision tree algorithm;Improve;Achieve

随着数据库技术的不断发展及数据库管理系统的广泛应用,数据库中存储的数据量急剧增大,在大量的数据背后隐藏着许多重要的信息,如果能把这些信息从数据库中抽取出来,将会产生重要的作用。

因此,数据挖掘涉及的学科领域逐渐扩大,数据挖掘的方法也在不断地改进和提高。分类在数据挖掘中是一项非常重要的任务,分类算法可以分为决策树分类算法、遗传算法、神经网络方法、K-最近邻分类算法等。这里,以疾病防控与儿童免疫管理系统中决策支持子系统的开发过程为例,对决策树分类算法的改进及在实际中的应用进行阐述。

一、数据选取和数据预处理

在本系统中,以预防接种中遇到异常反应后记录的“异常反应调查表”中的数据为例进行说明。具体实现过程详细说明:首先输入训练集,由于在真实的SQL Server数据库当中,为了降低存储要求和减少存储时间,并非真正存储每个数据项的属性值,而是用存储数字来对应相应的意义,如在数据库的数据表中,“性别”字段中“1”代表“男”、“2”代表“女”,反应到程序页面时再映射回原来的值,为了说理清晰又限于篇幅,这里只将所有数据集中有代表性的十几组数据作为分类模型创建的输入训练集。

二、生成决策树

对训练集的每一个属性,计算其信息增益。以“月龄”属性为例,每个结点中的正反例的个数分别为[2,3]、[3,2]、[4,0],分别计算如下:

info[2,3]= =0.971;

info[3,2]= =0.971;info[4,0]=0;

计算信息熵:E(月龄)= =0.693;

计算该属性的信息增益量,选取信息增益最大的属性为节点,按该属性的值划分数据集合:Gain(月龄)=Info(9,5)-E(月龄)=0.940-0.693=0.247;

同理,对“注射反应”属性、“出生状态”属性、“常住地”属性都可计算每个结点的正反例的个数(由于篇幅有限,不作计算)。通过对各属性信息增益的计算结果,选择“月龄”属性作为根节点,然后划分“月龄

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…5 AND 注射反应=无)THEN (类别=是)

IF(月龄 2…5 AND 注射反应=轻)THEN (类别=是)

IF(月龄 2…5 AND 注射反应=重AND 出生状态=正常产)THEN(类别=是)

IF(月龄 2…5 AND 注射反应=重AND 出生状态=非正常产 AND 常住地=城市)THEN (类别=否)

IF(月龄 2…5 AND 注射反应=重AND 出生状态=非正常产AND 常住地=农村)THEN(类别=是)

……

依此类推,共可产生十三条规则。

四、决策支持子系统的分析

用上述基于决策树的分类算法所得到的模型生成的规则来预测测试集中的未知数据属于哪一类,并通过该模型的测试结果与实际情况相吻合的准确率来判断该决策树是否有效。

首先,用整个数据集中2/3的数据作为训练集按照基于决策树的分类算法来建立模型,生成一棵决策树。

然后,用余下的1/3的数据作为测试集,通过创建的模型进行预测,并将预测结果和实际值进行比较。如果准确率达到或超过事先确定的阈值,则可以认定该模型对于数据分类是有效的,能够在实际中应用;反之,则认定该模型的分类效果不好,需要按以上步骤来重新判断,直到分类准确率达到预定的阈值为止。

在本系统中,经过测试预测准确率已达到87%,在可以接受的范围内,所以算法是有效、可行的。

参考文献:

[1]陈文伟,黄金才.数据仓库与数据挖掘.人民邮电出版社,2004

[2]王万森.人工智能原理及应用.电子工业出版社,2000

[3]范明,孟小峰.数据挖掘――概念与技术.机械工业出版社,2001

作者简介:

夏琰(1980-),女,吉林长春人。长春职业技术学院信息技术分院,教师,讲师,硕士,研究方向为计算机应用。

上一篇:浅析基于网络教学平台的高校教师教育技术培训 下一篇:《微机原理与接口技术》课程理论与实验教学改...