数据挖掘之决策树方法概述

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

文章编号:1009-3907(2004)06-0048-04

数据挖掘之决策树方法概述

田苗苗1,2

(1.吉林师范大学信息技术学院,吉林四平 136000; 2.长春工业大学计算机科学与工程学院,吉林长春 130012)

摘 要:数据挖掘在科研和商业应用中正发挥着越来越重要的作用。分类器是数据挖掘的一种基本方法,决策树是一种最重要的分类器。本文介绍了分类器中的决策树方法及其优点,决策树表示法,决策树构造思想,并比较了各种重要的决策树算法。介绍了决策树算法的实现工具,决策树与数据仓库的结合,决策树的适用范围及应用,最后探讨了决策树的发展趋势。关键词:数据挖掘;决策树;数据仓库中图分类号:TP311113 文献标识码:B

收稿日期:2004209228

作者简介:田苗苗(1976- 

),女,吉林省双辽市人,吉林师范大学信息技术学院助教,硕士生,主要从事人工智能与数据挖掘研究。

0 引 言

数据挖掘(Data Mining )就是从大量的、不完全的、有噪声的、模糊的、随机的原始数据中,提取隐含在其中的事先未知的、但又是潜在有用的信息和知识的过程[1]。数据挖掘是一个利用各种分析工具在海量数据中发现模型和数据间关系的过程,这些模型和关系可以用来做出预测。

数据挖掘的主要任务有分类或预测模型发现、概括、聚类、回归分析、关联规则发现、序列模式发现、依赖关系或依赖模型发现、异常和趋势发现等。分类是其中的一个非常重要的任务,目前在商业上应用最多。分类的概念是在已有数据的基础上学会一个分类函数或构造出一个分类模型,即所说的分类器(classifier )。该函数或模型能够把数据库中的数据记录映射到给定类别中的某一个,从而用于预测。实现分类任务的方法有统计学方法、机器学习方法、神经网络方法等等。其中机器学习中的决策树方法是目前重点研究的方向,研究成果较多,已经被成功地应用到从学习医疗诊断到学习评估贷款申请的信用风险的广阔领域。

决策树起源于概念学习系统C LS (C oncept Learning System )。决策树方法就是利用信息论的原理建立决策树。该类方法的实用效果好,影响较

大。决策树可高度自动化地建立起易于为用户所理解的模型,而且,系统具有较好地处理缺省数据及带有噪声数据等能力。决策树学习算法的一个最大的优点就是它在学习过程中不需要使用者了解很多背景知识。这样只要训练事例能够用“属性2值”的方式表达出来,就能使用该算法来进行学习。

研究大数据集分类问题,常用决策树方法。决策树方法速度较快,可被转换成简捷易懂的分类规则,也可转换成对数据库查询的S Q L 语句。另外,决策树分类与其他分类方法比较,具有相同而且有时有更高的精度。

1 决策树主要内容

111决策树表示法

决策树是一树状结构,它从根节点开始,对数据样本(由实例集组成,实例有若干属性)进行测试,根据不同的结果将数据样本划分成不同的数据样本子集,每个数据样本子集构成一子节点。生成的决策树每个叶节点对应一个分类。构造决策树的目的是找出属性和类别间的关系,用它来预测将来未知类别的记录的类别。这种具有预测功能的系统叫决策树分类器。

图1画出了一棵典型的学习到的决策树。这棵决策树根据天气情况分类“星期六上午是否适合打

第14卷 第6期

2004年12月

长春大学学报JOURNA L OF CH ANG CH UN UNI VERSITY

V ol 114 N o 16Dec.2004

网球”。例如,实例〈Outlook=Sunny,T em perature =H ot,Humidity=High,Wind=Strong〉将被沿着这棵决策树的最左分支向下排列,因而被判定为反例(也就是这棵树预测这个实例Play T ennis=N o)[2]。

Outlook

Sunny Overcast Rain

Humidity Y es Wind

High N ormal S trong Weak

 N o Y es N o Y es

图1 天气问题的决策树(星期六上午是否适合打网球)通常决策树代表实例属性值约束的合取(con2 junction)的析取式(disjunction)。从树根到树叶的每一条路径对应一组属性测试的合取,树本身对应这些合取的析取[2]。例如,图1表示的决策树对应于以下表达式:

(Outlook=SunnyΛHumidity=N ormal)

∨(Outlook=Overcast)

∨(Outlook=RainΛWind=Weak)

112决策树构造思想

构造一个决策树分类器通常分为两步:树的生成和剪枝。

决策树的生成是一个从上至下,“分而治之”(divide-and-conquer)的过程,是一个递归的过程。设数据样本集为S,算法框架如下:

1)如果数据样本集S中所有样本都属于同一类或者满足其它终止准则,则S不再划分,形成叶节点。

2)否则,根据某种策略选择一个属性,按照属性的各个取值,对S进行划分,得到n个子样本集,记为S i。再对每个S i迭代执行步骤1。

经过n次递归,最后生成决策树。从根到叶结点的一条路径就对应着一条规则,整棵决策树就对应着一组析取表达式规则。树构成步骤中,主要就是找出节点的属性和如何对属性值进行划分。

决策树生成后面临的问题是树的过度细化,特别是存在噪声数据或不规范属性时更为突出,决策树的修剪就是对过度细化的模型进行调整。

修剪算法分为前剪枝算法和后剪枝算法两种。

前剪枝算法是在树的生长过程完成前就进行剪枝。如Friedman提出的限制最小节点大小的方法,是当节点处的实例数目小于阈值k时,就停止生长该节点;Quinlan提出的不纯度阈值法,若划分该节点后不纯度减小量低于某一阈值则停止生长。这类算法的优点是在树的生长同时就进行了剪枝,因而效率高;但是它可能剪去了某些有用但还没有生成的节点。

后剪枝算法是当决策树的生长过程完成后再进行剪枝。它分为需要单独剪枝集和不需要单独剪枝集两种情况。后剪枝有一些优点,例如,当单个的两个属性似乎没什么用处,但当结合在一起时却有强大的预测能力,即一种结合效果,在两个属性值正确结合时是非常有用的,而单个属性则没有用。大多数决策树构建者采用后剪枝的方法;前剪枝方法是否开发和实现得同后剪枝方法一样好还在讨论之中[3]。

113决策树算法

决策树是被研究最多的数据挖掘方法之一,目前有很多种算法。

决策树的“分而治之”方法,是由澳大利亚悉尼大学的J1R1Quinlan开发和完善的。1986年, J1R1Quinlan在机器学习杂志上发文介绍了I D3算法[4]。增益率的使用是多年前用于I D3的许多进展之一,尽管有实际的结果,但它牺牲了一些精度。C415算法[5]是机器学习中一个有影响的、广泛使用的算法,是I D3算法的改进,并继承了I D3的全部优点。在归纳学习中,它代表着基于决策树的方法的里程碑。1993年,Quinlan出版了专著《机器学习规划》,介绍了极其流行的决策树算法C415,并附有程序员用的源代码。C415的新功能包括处理数值属性、缺值、噪音数据的方法和决策树的修剪及规则导出等。近来的版本C510,以商业方式可以获得。C510的决策树归纳同C415在本质上似乎是一样的,测试显示了一些区别,但是是可忽略的改进。然而,它的规则产生大大地加速了,并使用了一种完全不同的技术[3]。

在I D3方法的基础上,后人又发展了各种决策树方法。如C ART、CH AI D方法等等。C ART,即分类与回归树方法,是由来自斯坦福大学和加利福尼亚大学伯克利分校的Leo Breiman,Jerome Fried man,Richard Olshen和Charles Stone四人于1984年在他们的著作《分类与回归树》中提出来的一种数据开发和预测算法,它的适用范围很广[4]。

CH AI D(Chisquare Automatic Interaction Detetor)方法,它在建立决策树的方法上与C ART方法相似,而在选择决策结点时各自遵循着不同的规

第6期田苗苗:数据挖掘之决策树方法概述49 

相关文档
最新文档