决策树算法的研究及实例分析
第11卷第3期 2013年9月 南京工程学院学报(自然科学版) Journal of Naming Institute of Technology(Natural Science Edition) Vo1.11,No.3 Sep.,2013
文章编号:1672—2558(2013)03—0058—04
决策树算法的研究及实例分析
周桂如
(福建船政交通职业学院公共教学部,福建福州350007)
摘要:分类与预测是数据挖掘技术中的一个重要研究领域.而决策树算法又是分类与预测的核心技术算法之一.描 述ID3的主要算法,介绍信息增益、系统总熵和信息熵的概念及其计算公式;然后对ID3算法进行了深入地研究与分 析;最后把决策树中的ID3算法运用在学生综合测评中.ID3算法最大的缺点是运算复杂,而且要花费较多的时间. 关键词:决策树算法;ID3算法;综合评价;分类与预测 中图分类号:TPI81
Research into Decision Tree Algorithm and Case Studies
ZH0U Gui—ru
(Dept.of Public Courses Teaching,Fujian Chuanzheng Communications College,Fuzhou 350007,China)
Abstract:Decision tree algorithm is viewed as one of the core technical algorithms of classification and prediction which is considered a key area in data mining technology.This paper describes the major algorithm of ID3 and introduces such concepts as information gain,total system entropy,and informational entropy,as well as the computational formula.And in—depth research is conducted into ID3 algorithm.Finally,this algorithm of decision tree is used to comprehensively evaluate students’performance.ID3 algorithm,however,has its disadvantages,for exmple,complex calculation and time— consuming. Key words:decision tree algorithm;ID3 algorithm;comprehensive evaluation;classification and prediction
分类对象 :在程序中输入的数据或称训练集(training set)样本,是由每个包含若干个属性
(attribute)的数据库所记录(record)组成的一个特征向趋 训练集中的每条记录还必须由系统的输入一个
特定的类标签(class labe1)与之相对应的.如一个样本向量( ,, ,…, ;C)的形式中, 表示其中属性值,
C表示它的类别.
分类的评价方法:
1)对准确度进行预测,常用于预测型分类任务的一种比较尺度.
2)对复杂度的计算,主要是一些实现细节和所依赖的硬件环境.
3)对模型简洁度的描述,特别是对于描述型的分类任务,它的模型描述越简洁就越容易理解.
对于一些分类的操作通常主要有两个步骤 J:第一步,可以根据给定的训练集数据,找到较合适于这
种训练集的函数映射的模型形式.这个步骤一般被称作为模型训练阶段.第二步,使用函数映射模型是为
了能够预测数据到底是属于那一种类型;或利用该函数模型描述数据所集中的那类别数据,从而形成这种
分类规则.
收稿日期:2013—08—08;修回日期:2013—08—30 作者简介:周桂如,硕十,讲师,研究方向为数学与应用数学 E-mail:841599039@qq.conl
第11卷第3期 周桂如:决策树算法的研究及实例分析 59
1 ID3算法描述
ID3Tree 3 (T,tattributelist)(其中 为样本空间,tattributelist为属性集)是一个递归过程,所以仅仅需
要讨论对某个特定结点N的分裂方法.
分割前设指向特定结点Ⅳ的训练集为S,其中训练集的样本个数为s,包含所有不同的类别,他们区分
了不同的类C (for i=1,…,m),设s 是S中属于类C 的记录的个数.那么分裂之前,系统的总熵为
l(s1,s2,…,s )=一∑(i=1 to m)pilog2p (1)
其中P 是任意样本属于类c 的概率,从公式容易看出,总熵是属于各个类的记录信息量的加权平均.
从属性集中选取某一属性A,它是带有 个不同值的属性{0 ,口:,…,o },A可以把s划分成 个子集
{s ,Ls ,…,Js },其中s ={ IX∈S&X・A:aj}.如果A被选为测试属性,那么那些子集表示从集合Js出 发的所有树枝.设s,为子集.sf中的记录个数,s 就表示为在子集Jsf中属于类为C 的记录个数.这时按A
的每个属性值(更一般的是取 的一个子集)进行分割后的信息量,也就是系统总熵 为
E(A)=∑( :1 to )[s1 +s +…+s )/s] ( u,s ,…,s哪) (2)
式中:总熵E(A)是各个子集信息量的加权平均;(s s ,+…+s耐)/s表示第 个子集的权重;,(s s 一,s面)
为子集Js 的信息量(子集的总熵),
1(s ,s ,…,s阿)=一∑(i=1 to m)p log2P (3)
其中P =s /4是sf中的样本属于类C 的概率.
信息增益(Information Gain) 是表示系统由于分类所获得的信息量,由系统熵的减少值定量描述.对
结点J7v用属性A分类后的信息增益 为
Gain(A)=,(s。,5:,…,s )一E(A) (4) 算法依次计算出属性集中其他属性的信息增益,具有最高信息增益值的属性将选作特定结点Ⅳ的分
裂属性即根节点.
2 11)3算法的复杂度
1)由于在ID3算法中决策树的生成过程都是采用层层递归的方法,因此每次以最大信息增益属性分
区时都将产生与此属性取值个数相同数目的子表.而每个子表都会占用一定的存储空间,这种存储空间占
用以指数速度上升,会消耗大量的内存,并且还有大量的数据传送过程中的时间消耗.另外,当数据传送过
程中数据量极大时,决策树算法会由于无法一次性将所有的数据调入内存而不能进行工作,所有的这些因
素都增加了决策树生成中的空间复杂度.
2)当在计算每个属性的信息增益时,需要统计这个属性中每种取值的个数和该种取值相对于分类属
性的个数.一般采用的方法是循环计数的过滤来实现.在上述方法中,一次只能进行一个属性取值的统计,
但往往需要若干次循环嵌套才能完成所需属性信息增益的计算,而且在属性信息增益计算中对对数计算
所花的时间也相对较多,使得决策树分类算法的执行效率难以得到提高,从而增加了时间复杂度.
3 实例分析
根据福建交通学院学生的德育素质、智育素质、健康与卫生、技能素质和社会实践来进行评定学生综
合成绩的分类.
南京工程学院学报(自然科学版) 2013年9月
把政治思想品德、专业成绩、健康与卫生、技能素质和社会实践的所有
分值按80—100的设为1级(即优),7O—_79.5设为2级(即良),60—69.5
设为3级(即中),把原有的数据进行离散化.它的非类别属性见表1.
根据表2的学生的成绩的综合的评价做出如下计算:
1)对于类别属性的信息熵,即对学生综合成绩的分类,令类别属性的
信息熵为 ,那么属于1级有25个,2级有14个,3级有11个,所以类别属
性的信息熵为 表1非类别属性及取值
属性 可能取值 政治思想品德 专业成绩 健康与卫生 技能素质 社会实践 1,2,3 1,2,3 1,2,3 1,2 1,2
,( )=一 3@log2了 ̄Si=一 25l。g 2 5一亏1 4l。g 14一 11l。g 11=1.501 2
表2样本训练集
序号 政治思想品德 专业成绩 健康与卫生 技能素质 社会实践 综合成绩
2)对于非类别属性的信息熵计算,选择非类别属性为政治思想,在政治思想中1级有l9个,其中综
合成绩为1的有19个,2的为0个,3的为0个;2级有l8个,其中综合成绩为1的有6个,综合成绩为2
的有9个,综合成绩为3的有3个;3级的有13个,其中综合成绩为1的有1个,综合成绩为2的有7个,
综合成绩为3的有5个.由公式
E(A)=∑ ,(Slj ̄S2j,S3j)
可得:
E c思想 = 19(一嚣 。g )+ (一 。g: 一 -% 一素 og2 )+
(一古-。g: 一 。g: 一 。g 吾)=0.867 8
同理可得,以专业成绩和健康与卫生为非类别属性计算
E(专业)=0.541 7,E(健康)=1.083 8
以技能和社会实践作为非类别属性计算
(技能)=1.398 9,E(实践)=1.091 5
3)根据属性A对数据划分的信息增益,G(A)=,(T)一E(A)可以得出以下信息增益量:
G(思想)=,( )一 (思想)=1.501 2—0.867 8=0.633 4
G(专业)=,( )一E(专业)=1.501 2—0.541 7=0.959 5
G(健康)=,(T)一E(健康)=1.501 2—1.083 8=0.417 4
G(技能)=,( )一E(技能)=1.501 2—1.398 9=0.102 3 l{.._1 l,‘ l 1 1 ; 2 2 2 2 1 2 1 2 2 1 3 1{..3 1, 2 ; 卯 铝
如 第11卷第3期 周桂如:决策树算法的研究及实例分析 61
G(实践)=,( )一E(实践)=1.501 2—1.091 5=0.409 7
从以上公式推理得到的结果可以比较出G(专业)的值最大,即可以认为专业成绩对分类的帮助最
大,因此可以选择专业作为它的测试属性.
根据以上方法,通过ID3算法构造出的一棵决策树,如图1所示.
4 结语 图1 ID3算法生成的决策树
主要介绍决策树的分类及其过程.介绍信息增益、条件熵和信息熵的概念及其计算公式;描述ID3的
主要算法,利用其算法过程进行实例分析;ID3算法是逐个考虑训练例,是一种单变量的算法,偏向于属性
取值较多值的那个属性,而实际上,选择取值多的属性作为首先分裂的属性不一定是最优的;同时由以上
所计算的工作量也就可以看出,ID3算法中对数的运算还是比较复杂的,这要花一定的时间的换算.所以
针对ID3算法中的信息熵,互信息的计算可以进行化简,以提高其的建树速度和效率.
参考文献: [1]营志刚,金旭.数据挖掘中数据预处理的研究与实现[J].计算机应用研究,2004,21(7):117—1j 8. [2]戴稳胜,匡宏波,谢邦昌.数据挖掘中的关联规则[J].统计研究,2002(8):4O一42. [3]罗海蛟,刘显.数据挖掘中分类算法的研究及其应用[J].微机发展,2003,13(s2):48—50. [4]牛祥春.数据挖掘技术研究与应用初探[J].活力,2006,5:28—3O. [5] NIWA K.A knowledge based human—computer cooperation system for ill—structure management domains[J].IEEE Tran Syst,Man and Cybem,1986,16(3):335—343. [6]栾丽华,吉根林.决策树分类技术研究[J].计算机工程,2004.30(9):94—96.
决策树算法介绍(DOC)
决策树算法介绍(DOC)
3.1 分类与决策树概述
3.1.1 分类与预测
分类是⼀种应⽤⾮常⼴泛的数据挖掘技术,应⽤的例⼦也很多。例如,根据信⽤卡⽀付历史记录,来判断具备哪些特征的⽤户
往往具有良好的信⽤;根据某种病症的诊断记录,来分析哪些药物组合可以带来良好的治疗效果。这些过程的⼀个共同特点
是:根据数据的某些属性,来估计⼀个特定属性的值。例如在信⽤分析案例中,根据⽤户的“年龄”、“性别”、“收⼊⽔平”、“职
业”等属性的值,来估计该⽤户“信⽤度”属性的值应该取“好”还是“差”,在这个例⼦中,所研究的属性“信⽤度”是⼀个离散属性,
它的取值是⼀个类别值,这种问题在数据挖掘中被称为分类。
还有⼀种问题,例如根据股市交易的历史数据估计下⼀个交易⽇的⼤盘指数,这⾥所研究的属性“⼤盘指数”是⼀个连续属性,
它的取值是⼀个实数。那么这种问题在数据挖掘中被称为预测。
总之,当估计的属性值是离散值时,这就是分类;当估计的属性值是连续值时,这就是预测。
3.1.2 决策树的基本原理
1.构建决策树
通过⼀个实际的例⼦,来了解⼀些与决策树有关的基本概念。
表3-1是⼀个数据库表,记载着某银⾏的客户信⽤记录,属性包括“姓名”、“年龄”、“职业”、“⽉薪”、......、“信⽤等级”,每⼀⾏
是⼀个客户样本,每⼀列是⼀个属性(字段)。这⾥把这个表记做数据集D。
银⾏需要解决的问题是,根据数据集D,建⽴⼀个信⽤等级分析模型,并根据这个模型,产⽣⼀系列规则。当银⾏在未来的某
个时刻收到某个客户的贷款申请时,依据这些规则,可以根据该客户的年龄、职业、⽉薪等属性,来预测其信⽤等级,以确定
是否提供贷款给该⽤户。这⾥的信⽤等级分析模型,就可以是⼀棵决策树。在这个案例中,研究的重点是“信⽤等级”这个属
性。给定⼀个信⽤等级未知的客户,要根据他/她的其他属性来估计“信⽤等级”的值是“优”、“良”还是“差”,也就是说,要把这客
户划分到信⽤等级为“优”、“良”、“差”这3个类别的某⼀类别中去。这⾥把“信⽤等级”这个属性称为“类标号属性”。数据集D中“信
基于决策树ID3算法研究与实现
第28卷第3期 2012年5月 齐齐哈尔大学学报 Journal of Qiqihar University V01.28.No.3 May,2012
基于决策树lD3算法研究与实现
王胜
(安徽国防科技职业学院,安徽六安,237011)
摘要:阐述数据挖掘的决策树算法,对It)3算法基本理论和原理进行介绍。运用该算法对教师教学质量测评数据
进行分析,构造出质量测评数据决策树模型。 关键词:数据挖掘;决策树;ID3算法
中图分类号:TP31 l 文献标志码:A 文章编号:1007—984X(2012)03-0064—05
1决策树简介
决策树通过使用信息论知识原理对获取到样本的众多属性进行解析和归纳,并最终形成类似于流程图 的树型结构形式。树型结构节点为样本的属性,分支为属性取值,其中树的根节点为样本中信息量最大的
属性,树的中间节点则为每个子树包含子集样本中信息量最大的属性,将样本类别取值作为树的叶节点。
一条合取规则就是从树根到叶结点的一条通路,整个树就是由一组析取表达式规则所构成。决策树构造可
以分2步进行: 第1步是树的生成,由训练样本集采用递归的方式生成决策树的过程。
第2步是树的修剪,即对上一阶段生成的决策树进行检验、校正和修正的过程。采用非训练集的事例 检验,将一些可能是噪音或者异常的数据剪去。
2 ID3算法
2.1 ID3算法基本思想 ID3由概念学习系统CLS发展而来,CLS的工作过程为:先从数据中找出最具判别力的因素,再根据
此因素将数据划分成多个子集,接着每个子集再找出最有判别力的因素进行进一步的划分,最终使得每个
子集中只含同类型的数据,生成一棵树,使用它可以分类新的样例集。 R.Quinlan于1986年引进了信息论中的信息增益,作为特征判别能力的度量,并提出了ID3算法” 。这
种算法对对象分类所需要的期望测试数目实现最小,从而得到一个简单的树。 ID3算法是基于信息熵 的决策树分类算法,为了获得具有最大信息增益的属性,需要对每个属性的信
基于经营决策为主题的数据挖掘的应用——决策树算法实例研究
。数据库及信息管理.. .。 本栏目贲任编辑:闻翔军
基于经营决策为主题的数据挖掘的应用
决策树算法实例研究
续蕾。刘玉江 (辽宁对外经贸学院,辽宁大连116023)
摘要:应用ID3挖掘方法,将基于数据库的数据挖掘技术应用于企业的生产、销售实线中用决策树对产品进行定性分析.找到产品销
售情况的决策信息;及用分类法对产品品种进行选择的具体过程。
关键词:数据挖掘:决策树;ID3
中图分类号:TP312 文献标识码:A 文章编号:1009—3044(2007)05 11198一O1
The Application of Decision Information on Based of DataMinin _lhe Study Of ID3
xU Lei.LIU Yu—fiang
(Liaoning University of International Business and Economics,Daliang 1 1 6023,China) Abstract:The Management Information By means of Decision Tree Apply tO make deferent produc ̄ quahtative analysis and find OUt
decision information 0f the selling situation、 . Key WOrdS:Association;Decision tree;ID3
1基本定义
(1)数据挖掘
数据挖掘(Data Mining)就是从大量的、不完全的、有噪声的、
模糊的、随机的实际应用数据中。提取隐含在其中的、人们事先不 知道的、但又是潜在有用的信息和知识的过程。 .
(2)决策树 决策树是数据挖掘常用技术,代表着决策集的树形结构。
(3)基于互信息的ID3方法 ID3的基本思想:在一实体世界中.每个实体可用多个特征来
决策树和朴素贝叶斯算法简介
决策树和朴素贝叶斯算法简介
本节主要介绍数据挖掘中常见的分类方法决策树和朴素贝叶斯算法。
决策树算法
决策树(Decision Tree,DT)分类法是一个简单且广泛使用的分类技术。
决策树是一个树状预测模型,它是由结点和有向边组成的层次结构。树中包含3种结点:根结点、内部结点和叶子结点。决策树只有一个根结点,是全体训练数据的集合。
树中的一个内部结点表示一个特征属性上的测试,对应的分支表示这个特征属性在某个值域上的输出。一个叶子结点存放一个类别,也就是说,带有分类标签的数据集合即为实例所属的分类。
1. 决策树案例
使用决策树进行决策的过程就是,从根结点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子结点,将叶子结点存放的类别作为决策结果。
图 1
是一个预测一个人是否会购买电脑的决策树。利用这棵树,可以对新记录进行分类。从根结点(年龄)开始,如果某个人的年龄为中年,就直接判断这个人会买电脑,如果是青少年,则需要进一步判断是否是学生,如果是老年,则需要进一步判断其信用等级。
图 1 预测是否购买电脑的决策树
假设客户甲具备以下 4 个属性:年龄 20、低收入、是学生、信用一般。通过决策树的根结点判断年龄,判断结果为客户甲是青少年,符合左边分支,再判断客户甲是否是学生,判断结果为用户甲是学生,符合右边分支,最终用户甲落在“yes”的叶子结点上。所以预测客户甲会购买电脑。
2. 决策树的建立
决策树算法有很多,如 ID3、C4.5、CART 等。这些算法均采用自上而下的贪婪算法建立决策树,每个内部结点都选择分类效果最好的属性来分裂结点,可以分成两个或者更多的子结点,继续此过程直到这棵决策树能够将全部的训练数据准确地进行分类,或所有属性都被用到为止。
1)特征选择
按照贪婪算法建立决策树时,首先需要进行特征选择,也就是使用哪个属性作为判断结点。选择一个合适的特征作为判断结点,可以加快分类的速度,减少决策树的深度。
决策树方法在学生成绩分析中的应用
决策树方法在学生成绩分析中的应用
摘要
当前,职业技术教育随着社会发展和科技进步,其办学软硬件层次正逐步“升级”,办学规模和社会影响力也成倍增长。在学校管理工作
中,特别是对学生的成绩管理工作中,普遍存在的问题是学生成绩数据
量过于庞大,但对这些数据的处理还停留在初级的数据备份、查询及简
单统计阶段,并没有对大量的成绩数据进行深入地分析,加以捕捉有利
于教学管理工作的信息,这是对教学信息资源极大的浪费。数据挖掘技
术正是解决这个问题的可行而有效的方法。本文使用ID3决策树算法
生成决策树分析学生成绩优良与哪些因素有关.
关键词:决策树,学生成绩,数据挖掘
2.数据挖掘的方法和技术
数据挖掘方法是由人工智能、机器学习的方法发展而来,结合传统
的统计分析方法、模糊数学方法及科学计算可视化技术,以数据库为研
究对象,形成了数据挖掘的方法和技术。可分为以下六大类:归纳学习
法、仿生物技术、公式发现、统计分析方法、模糊数学方法、可视化技术。
信息论方法(决策树方法)是归纳学习法中的一类。信息论方法是
利用信息论的原理建立决策树。在知识工程领域,决策树是一种简单的
知识表示方法,它将事例逐步分类成代表不同的类别。由于分类规则是
比较直观,易于理解,该类方法的实用效果好,影响较大。由于该方法最
后获得知识表示形式是决策树,故一般称它为决策树方法。这种方法一
般用于分类任务中。
决策树是通过一系列规则对数据进行分类的过程。它提供一种在
什么条件下会得到什么值的类似规则的方法。决策树是以实例为基础
的归纳学习算法。从一组无次序、无规则的元组中推理出决策树表示形
式的分类规则。它采用自顶向下的递归方式,在决策树的内部节点进行
属性值的比较,并根据不同的属性值从该节点向下分支,叶节点是要学
习划分的类。从根节点到叶节点的一条路径就对应着一条分类规则,整
个决策树就对应着一组析取表达式规则。
信息论方法中较有特色的方法有:ID3,IBLE方法。目前已形成了多
决策树学习研究综述
・22・ 科技论坛
决策树学习研究综述
叶萌 (黑龙江电力职工大学,黑龙江哈尔滨150030) 摘要:决策树分类学习算法是使用广泛、实用性很强的归纳推理方法之一,在机器学习、数据挖掘等人工智能领域有相当重要的理 论意义与实用价值。在详细阐述决策树技术的几种典型算法以及它的一些常见问题后,介绍了它在工程上的实际应用,最后提出了它的 研究方向以及它所面临的问题和挑战。 关键词:决策树;决策树算法;ID3;C4.5;SLIQ;SPRINT 1概述 决策树是构建人工智能系统的主要方法之一,随着数据挖掘技术在 商业智能等方面的应用,决策树技术将在未来发挥越来越强大的作用m。 自从Quinlan在1979年提出构造决策树ID3算法以来,决策树的实现 已经有很多算法,常见的有:CLS(concept learning system)学习算法, ID4、ID5R、C45算法,以及CART、C5.0、FuzzyC4.5、0C1、QUEST和CAL5 。 现在,许多学者在规则学习与决策树学习的结合方面,做了大量的 研究工作。Brako等的ASSISTANT,将AQ15中的近似匹配方法引入决 策树中。Clark等的CN2,将ID3算法和AQ算法编织在一起,用户可选 择其中任何—种算法使用。Utgoff等的ID5R算法,不要求一次『生提供所 有的训练实例,训练实例可以逐次提供,生成的决策树逐次精化,以支持 增量式学习。洪家荣教授结合实际应用问题对ID3算法作了一些改进, 提出了两个ID3和AQ结合的改进算法,IDAQ和AQID,此外,还陆续 出现了处理大规模数据集的决策树算法,如SLIQ,SPRINT等等日。 2决策树算法研究 21构造决策树算法 决策树学习是从无次序、无规则的样本数据集中推理出决策树表示 形式、逼近离散值目标函数的分类规则方法。它采用自顶向下的递归方 式,在决策树的内部给・ 进行属性值的比较并根据不同的属性值判断从 该结点向下的分支,在决策树的叶结点得到结论,因此从根结点到叶结 点的—条路径就对应着一条规则,整棵决策树就对应着一组表达式规 则。我们可将决策树看成是定义布尔函数的一种方法。其输^是一组属 性描述的对象,输出为yes/no决策。决策树代表—个假设,可以写成逻辑 公式。决策树的表达能力限于 题逻辑,该对象的任—个属性的任一次 测试均是—个命题。在命题逻辑范围内,决策树的表达能力是完全的。一 棵决策树可以代表—个决定训练例集分类的决策过程,树的每个结点对 应于—个属性名或—个特定的测试,该 .鲒点根据测试的可能结 果对训练例集进i一戗0分。划分出的每个部分 附应于相应训练例集子空 间的—个分类子问题,该分类子问题可以由一棵决策树来解决。因此,一 棵决策树可以看作是—个对目标分类的划分和获取策m 。 2.2处理大规模数据集的决策树算法 ID3或者C45算法都是在建树时将训练集一次f生装载入内存的。 但当面对大型的有着上百万条纪录的数据库时,就无法实际应用这些算 法。针对这一问题,前^、提出了不少改进方法,如数据采样法、连续屙性 离散化法或将数据分为若干小块分别建树然后综合成—个最终的树,但 这些改进都以降低了树的准确性为代价。直到Metha,Agrawal和Ris— sane在1996年提出了SLIQ方法,以及在此基础上进行改进得到的 SPRIN 方法。 3决策树学习的常见问题 3.1过度拟合 在利用决策树归纳学习时,需要事先给定一个假设空间,且必须在 这个假设空间中选择—个,使之与训练实例集相匹配。我们知道任何一 个学习算法不可能在没有任何偏置的情况下学习。如果事先知道所要学 习的函数属于整个假设空间中的—一/卜彳 、的子集,那么即使训练实例不 完整,也有可能从已有的训练实例集中学习到有用的假设,使它对未来 的实例进行正确的分类。当然,我们往往无法事先知道所要学习的函数 属于整个假设空间中的哪个很小的子集,即使是知道,我们还是希望有 —个大的训练实例集。因为训练实例集越大,关于分类的信息就越多。这 时,即使随机地从与训练实例集相匹配的假设集中选择一个,它也能对 未知实例的分类进行预测。相反,如果训练实例集与整个假设空间相比 过小,即使在有偏置的f青况下,仍有过多的假设与训练实例集相匹配,这 时作出假设的泛化能力将很差。当有过多的假设与训练实例集相匹配, 便称为过度拟合(0vemt)。 3I2树剪枝 对决策树进行修剪可以控制决策树的复杂程度,避免决策树过于复 杂和庞大。此外,还可以解决过度拟合的问题。 修剪决策树有多种算法,通常分为这样五类。最为常用的是通过预 剪枝(pre—pruning)和后剪枝(post-pruning)完成,或逐步调整树的大小; 其次是扩展测试集方法,首先按特征构成是数据驱动还是假设驱动的差 别,将建立的特征组合或分割,然后在此基础上引进多变量测试集。第三 类方法包括j左择不同的测试集评价函数,通过改善连续特征的描述或修 改搜索算法本身实现;第四类方法使用数据库约束,即通过削减数据库 或实例描述特征集来简化决策树;第五类方法是将决策树转化成另一种 数据结构。这些方法通常可以在同另一种算法相互结合中,增强各自的 功能。 4决策树在工程中的应用 决策树在工程中的诸多领域获得了非常广泛的应用,主要有以下几 个方面: 41决策树技术应用于机器人导航 E.Swere和DJ.Mulvaney将决策树技术应用于移动机器人导航并取 得了一定的成功。 4.2决策树技术应用于地铁中的事故处理 法国的Brezillon等人成功地将决策树技术应用于地铁交通调度智 能系统。f电1门根据决策树的基本思想开发出上下文图表来帮助驾驶员针 对事故做出正确的处理。 4-3决策树技术应用于图像识别 决策树技术应用于包括图像在内的科学数据分析。如利用决策树对 上百万个天体进行分类,利用决策树对卫星图像进行分析以估计落叶林 和针叶林的基部面积值。 4.4决策树应用于制造业 决策树技术已经成功应用于焊接质量的检测以及大规模集成电路 的设计,它不仅可以规划印刷电路板的布线,波音公司甚至将它用于波 音飞机生产过程的故障诊断以及质量控制。 5决策树技术面临的问题和挑战 发展至今,决策树技术面临的问题和挑战表现在以下几个方面: 5.1决策树方法的效率亟待提高 数据挖掘面临的数据往往是海量的,对实时『生要求较高的决策场 所,数据挖掘方法的主动陛和 啻陛显得日益重要。应用实时『生技术、主 动数据库技术和分布并行算法设计技术等现代计算机先进技术,是数据 挖掘方法实用化的有效途径。 52适应多数据类型、容噪的决策树挖掘方法 随着计算机网络和信息的社会化,数据挖掘的对象已不是关系数据 库模型,而是分布、异构的多类型数据库,数据的非结构化程度、噪声等 现象越来越突出,这也是决策树技术面临的困难问题。 6结论 决策树技术早已被证明是利用计算机模仿^、类决策的有效方法,已 经得到广泛的应用,并且已经有了许多成熟的系统。但是,解决—个复杂 的数据挖掘问题的任何算法都要面临以下问题:从销误的数据中学习、 从分布的数据中学习、从有偏的数据中学习、学习有弹『生的概念、学习那 些抽象程度不同的概念、整合定I生与定量的发现等,因此,还有很多未开 发的课题等待研究。若将决策树技术与其他新兴 (下转1 56页)
决策树算法的比较研究
决策榭算法硇比较研奔 上海开放大学信息与3-程系王磊郑任儿 [摘要]本文分析与比较了两种既能处理离散数据又能处理连续数据的决策树经典算法c4 5与CART。首先论述了两种算法的思 想,并通过实例解析了c4.5算法和CART的实现过程,最后基于WEKA平台对它们进行了对比实验,利用实验结果的各项评价指标 对这两种算法进行了性能分析与比较。 [关键词]数据挖掘 决策树算法 C4.5 CART 1、前言 数据挖掘作为一种发现大量数据中潜在信息的数据分析方法和技 术,已经成为各界关注的热点。其中,决策树的构造不需要任何领域知 识,归纳学习和分类步骤简单快速并且直观易懂等特点,已经成功地应 用于许多应用领域的分类。构造决策树有多种算法,国际上最早具有 影响力的决策树是由J.RossQuinlan提出的ID3算法,是基于信息熵的 决策树分类算法,后来Quinlan又提出了ID3的改进版本c4.5算法,C4.5 算法则用信息增益率来选择决策属性,在ID3的基础上还增加了对连 续属性的离散化、对未知属性的处理和产生规则等功能。1984年IJ_ Breiman,J.Friedman,R.Olshen和C.Stone出版了CART,介绍了二叉决策 树算法。 关于ID3与C4.5算法的比较相关研究工作较多,本文主要探讨既 能处理离散属性又能处理连续属性的决策树算法C4.5与CART算法, 通过实例分析了相关决策树的构建以及通过实验分析比较两个算法的 性能。 2、G4.5算法简介 ID3使用信息增益作为属性选择度量,这倾向于选择具有大量值的 属性。c4.5使用称作增益率的信息增益扩充来克服这种偏倚。信息增 益率等于信息增益对分割信息量的比值。相关概念描述如下: 对|JII练集D中元组分类所需的期望信息Info(D)=一 :羔 P log2(p ), 基于按属性A划分对D的元组分类所需要的期望信息Info(D)= 『D ×j,27 Dj)。信息增益定义为原来的信息需求与新的需求(即 … I l 对属性A划分之后得到的)之间的差即Gain(A)=Info(D)一InfoA(D)。 C4.5使用分裂信息值将信息增益规范化, [itlnfoA(D)= lD.1 }D,f 一∑ :l logz ,它表示通过将训练数据集D J ̄I]分成对应于属性 l—f f~l A测试的v个输出的v个划分产生的信息。 C4.5使用悲观剪枝方法,使用错误率评估,对于树剪枝作出决定。 它使用训练集评估错误率。基于训练集评估准确率或错误率是过于乐 观的,因此具有较大的偏倚。因此,悲观剪枝访求通过加一个罚来调节 从训练集得到的错误率,以抵消所出现的偏倚。 3、CART算法简介 CART算法使用Gini指标作为属性选择度量,Gini指标度量数据划 分的不纯度,定义为: 1~∑m= P 。 其中pi是训练数据集中属于不同的类C.类的概率。 CART使用代价复杂度剪枝算法,也属于后剪枝方法。该方法将代 价复杂度看作树中树叶节点的个数和树的错误率的函数。它从树的底 部开始,对于每个内部节点N,计算N处的子树的代价复杂度和该子树 剪枝后N处子树(即用一个树叶节点替换)的代价复杂度。比较这两个 值,如果剪去节点N的子树导致较小的代价复杂度,则剪去该子树;否 则保留该子树。剪去类标记的元组集用来评估代价复杂度。该集合独 立于用于建立未剪枝的树的训练集和任意用于准确率评估的检验集。 算法产生渐进的剪枝树集合。一般,最小化代价复杂度的最小决策树 是首选。 4、实例解析 4:1决策树构造c4.5算法实现 通过某地收集的天气数据实例说明C4.5算法决策树的构造实现, 其样本数据见表4—1,该样本数据既有离散数据,也有连续数据。 4.I.1首先计算训练集D中元组分类所需的期望信息: Info(D)=一9/14"1ogff9/14)一5/14"1og ̄f5/14)=0.94位。 4.1.2离散属性的信息增益率求解过程如下: (1)计算每个属性的期望信息需求: Infoo... ̄(D)=5/14 (-2/5*1o&2/5—3/5"1og23/5)+4/14"(一4/4"1og ̄4/4—0/ 4 log ̄0/4)+5/14"(一3/5"1og23/5—2/5*1og ̄2/5)=0.694位 (2)计算每个属性的信息增益: 一156一 Gain(outlook)=Info(D)一InfooatlookfD)=0.246位。 (3)计算每个属性的分裂信息: Splitlnfot ̄.tt ̄(D)=-5/14 log ̄(5/14)-5/14 log ̄(5/14)一4/14 log ̄(4/1 41=1.576 (4)计算每个属性的增益率: GainRatiofouⅡ00k1=O.246/1.576=0.156 同理,求出GainRatio(windy)=0.048/0.98--0.049 表4—1天气样本数据集 ID outlook temperature humidity windy 1 overcast 54 65 TRUE 2 ralnv 65 70 TRUE 3 69 70 FALSE 4 SUnnV 75 、 70 TRUE 5 overcast 81 75 FALSE 6 ralnv 68 80 FALSE 7 ralnv 75 80 FALSE 8 Sunny 85 85 FALSE 9 OVercast 83 86 FALSE 10 overcast 72 90 TRUE 11 80 90 TRUE 12 71 91 TRUE 13 Snnnv 72 95 FALSE 14 ralnv 70 96 FALSE 4-2决策树构造CART算法实现 设D是表4—1的训练数据,其中9个元组属于类p1ay=yes,而其余5 个元组属于类play=no。首先计算D的不纯度Gini(D)=l一(9/14) 一(5/1 4) = 0.459。 为了找出D中元组的分裂准则,计算每个属性的Gini指标。离散 属性的二分划分,以属性outlook为例考虑每个可能的分裂子集。 (1)考虑子集overcast,rainy},基于该划分计算Gini指标: Ginioutlook∈fovercast,rainy}(D)=9/14 (1一(7/9)2一(2/9)2)+5/14(1一(2/5) 2-(3/5)2))-0.393 (2)考虑子集overcast,sunny},基于该划分计算Gini指标: Ginioutlook∈fovercast,sunny}(D)=9/14 (1-(6/9)2—0/9)2)+5/14(1一(2/ 5)2-(3/5)2))=O.460 (3)考虑子集{sunny,rainy},基于该划分计算Gini指标: Ginioutlook∈{sunny,rainy}(D)=10/14 (1一(5/lO)2一(5/10)2)+4/14(1一(4/ 4)2)=O.357 因此,子集{sunny,rainy}最小化Gini指标。属性outlook的最好二元 划分在{sunny,rainy}f_,具有Gini指标值0.357。 同理,属性{windy}的Gini指标值为0.43。 5、决策树算法性能分析 WEKA是新西兰Waikato大学开发的全面的数据挖掘系统,它不仅 提供了多种数据挖掘方法(分类、聚类、关联规则等)的多种常用算法进 行知识发现,还提供了适用于任意数据集的数据预处理功能,以及算法 性能评估的多种方法。针对决策树算法性能优劣的几个评定指标.本 文在WEKA平台下对上述两种算法进行性能分析实验,得出了不同角 度的实验结果。我们在标准测试数据集UCI发布的数据集中选取了9个 样本数据集来对这两种算法进行算法性能分析和比较性能分析实验。 首先简单描述一下我们选取的样本数据集,这9个样本集都是既 含有离散型属性,又包含连续型属性,实验的样本数据集的基本信息见 表5—1。分别从算法的分类准确率、算法的建模速度、算法的强壮性、算 法的可伸缩性、算法的可解释性得出了两种决策树算法的对比情况,且 这几个性能的比较实验都是采用十字交叉的方式进行建模和预测的, 实验情况分别见以下各表。
机器学习中的分类算法与实践
机器学习中的分类算法与实践
机器学习是一门在计算机中模拟人类智能的学科,主要包括监督学习、无监督学习、半监督学习和强化学习。分类算法是监督学习中最常用的算法之一,主要解决的是将数据划分到不同的类别中的问题。分类算法有很多种,比如决策树、逻辑回归、支持向量机、朴素贝叶斯分类器等,本文主要介绍这些算法的特点以及实践应用。
一、决策树分类算法
决策树是一种基于树结构的分类模型,可以根据特征值来对实例进行分类。它的主要思想是采用二分的策略,将实例一步一步分到正确的类别中。基于特征的可分性,决策树采用信息增益、信息增益比、基尼指数等方法构建树结构。决策树算法的优点是易于理解和解释,和其他分类算法相比,决策树不需要对数据进行特征工程,而且能够处理缺失数据。
决策树分类算法的实践应用比较广泛,比较典型的例子是通过决策树算法来预测获客转化率。通过对用户的历史数据进行分析和筛选,选择最相关的特征作为决策树的构建因素。构建好决策树之后,将用户实时信息和历史数据进行对比分析,通过比对,将新用户分到合适的类别中,以达到精准获客的目的。
二、逻辑回归分类算法
逻辑回归是一种常见的分类方法,主要应用在二分类问题上。它的主要思想是通过对各个特征进行权重分析,最终得出一个分类的似然函数。然后引入sigmoid函数进行转化,最终输出一个概率值。逻辑回归算法通常会结合正则化方法,比如L1、L2正则化,以避免过拟合和数据错误的影响。逻辑回归的优点是能够快速预测结果、有较强的可解释性和适用性,且易于实现和处理大规模数据。
逻辑回归分类算法在实践应用中比较广泛,比如应用于CTR预估、客户流失分析、信用评分等场景。比较经典的应用是电商广告CTR预估,通过对用户的历史数据进行学习和分析,建立逻辑回归模型,预测用户是否会点击广告,从而实现广告的投放和效果评估。
三、支持向量机分类算法
支持向量机是一种基于最大间隔分类的算法,它的主要思想是通过对数据的间隔进行最大化,找到最优的分类超平面。支持向量机分类算法的主要优点是能够具有一定的泛化性和分类能力,特别是在高维特征空间中,支持向量机分类算法仍然能够表现出较好的性能。
决策树示例数据集
决策树示例数据集
1.引言
1.1 概述
概述:
决策树是一种常用的机器学习算法,它通过对数据集进行划分来构建一个树形结构的决策模型。决策树简单直观,易于理解和解释,并且可以处理各种类型的数据,包括离散型和连续型。
决策树的构建过程是基于对数据集特征的不断划分,每个划分都根据一个特征和一个阈值来进行。通过不断分割数据集,每一次分割都会使得子数据集纯度提高,即同一子数据集中的数据更加相似。而不同子数据集之间的差异也会增大,使得最终的决策树能够更好地区分不同类别的数据。
在构建决策树的过程中,有几个重要的概念需要理解。首先是根节点,也就是最开始的节点,它包含了整个数据集。然后是内部节点,每个内部节点都代表一个特征,并包含了相应的阈值。通过比较输入数据的特征值和阈值,可以确定下一步应该进入哪个子节点。最后是叶节点,它代表了决策树的答案,也就是最终的分类结果。
决策树的构建过程可以通过不同的算法来实现,包括ID3、C4.5和CART等。这些算法在选择最佳特征和阈值时会使用不同的评估准则,以达到构建最优决策树的目标。常见的评估准则包括信息增益、增益率和基尼系数等。
决策树在实际应用中有广泛的用途。例如,在医疗诊断中,决策树可以根据患者的病症和病史来做出诊断决策。在金融领域,决策树可以根据客户的个人信息和信用记录来评估其信用风险。此外,决策树还可以用于智能推荐系统、垃圾邮件过滤和文本分类等领域。
综上所述,决策树是一种强大且灵活的机器学习算法,它能够通过对数据集的划分来构建一个可解释性强且有效的决策模型。在实际应用中,决策树可以帮助我们做出更准确、更快速的决策,提高工作效率并减少错误的发生。
1.2文章结构
文章结构部分的内容可以包括以下内容:
文章结构部分是对整篇文章的组织和框架进行介绍,主要是对各个章节以及它们之间的逻辑关系进行描述。通过明确文章的结构,读者可以更好地理解文章的内容和脉络。
在本文中,文章结构部分可以包括以下内容。
决策树ID3算法的研究与应用
第l4卷第2期 2011年6月 沙洲职业T学院学报 Journal of Shazhou Professional Institute of Technology Vo1.14.NO.2 June.20l1
决策树ID3算法的研究与应用
于淑香
(沙洲职业工学院,江苏张家港215600)
摘要:介绍了数据挖掘原理及决策树分类方法,对ID3算法的基本思想和具体实现方法进行阐述,并在根据天气决定是
否打网球的应用中运用该算法,最终构造出决策树模型。
关键词:数据挖掘;决策树;ID3算法
中图分类号:TP311.132 文献标识码:A 文章编号:1009—8429(2011)02—0027—04
Study and Application of Algorithm with Decision—Tree ID3
YU Shu—xiang
(ShazhouProfessionalInstitute ofTechnology,Zhangfiagang215600,China
Abstract:This paper introduced the principle of data mining and the method of classification in decision tree,
discussed the basic theories concerning ID3 algorithm and its application,and finally applied this algorithm in
the application of deciding whether to play tennis or not according to the weather.
Key words:data mining;decision tree;ID3 algorithm
0引言
随着数据库技术的快速发展,各行业的数据堆积也越来越多,在这些猛增的数据背后隐藏着很多重
