数据挖掘——决策树分类算法 (1)
数据挖掘的分类算法

数据挖掘的分类算法数据挖掘是指通过分析大量数据来发现隐藏在其中的规律和趋势的过程。
分类算法是数据挖掘中的一种重要方法,主要是通过构建模型将数据划分为不同的类别。
在本文中,我们将讨论几种常见的分类算法。
1. 决策树算法决策树算法是一种基于树形数据结构的分类算法。
它将数据集分成许多小的子集,并对每个子集进行分类。
决策树的节点表示一个属性,每个分支代表该属性可能的取值。
通过选择适当的划分条件,可以使决策树的分类效果更加准确。
2. 朴素贝叶斯算法朴素贝叶斯算法是一种基于概率论的分类算法。
它基于贝叶斯定理,利用先验概率和条件概率推断后验概率,并将数据分为不同的类别。
朴素贝叶斯算法在文本分类、垃圾邮件识别等方面有广泛的应用。
3. 支持向量机算法支持向量机算法是一种基于分类的学习方法,通过构造一个最优的超平面将数据集分为两个或多个类别。
该算法可以用于解决多分类、回归、异常检测等问题。
支持向量机算法在人脸识别、文本分类、图像识别等方面有很好的应用。
4. K近邻算法K近邻算法通过计算样本之间的距离来确定每个样本的类别,即将每个样本划分到与其最近的K个邻居的类别中。
该算法是一种简单有效的分类算法,在文本分类、医学诊断等方面得到了广泛应用。
5. 神经网络算法神经网络算法是一种基于类似人类神经系统的计算模型,通过构造多个神经元并利用它们之间的联系来分类。
该算法可以解决多分类、回归、信号识别等问题,并在语音识别、图像处理等方面得到了广泛应用。
总之,分类算法在数据挖掘中起着重要的作用。
通过对不同分类算法的了解和应用,可以提高分类的准确性和效率。
在实际应用中,需要根据数据类型、数据量和应用场景等因素选择合适的分类算法。
决策树算法

3
第一节 决策树算法原理
优点: 使用者不需要了解很多背景知识,只要训练事例能用属性 →结论的方式表达出来,就能用该算法学习; 决策树模型效率高,对训练集数据量较大的情况较为适合; 分类模型是树状结构,简单直观,可将到达每个叶结点的 路径转换为IF→THEN形式的规则,易于理解; 决策树方法具有较高的分类精确度。
14
第一节 决策树算法原理
决策树算法的大体框架都是一样的,都采用了贪心(非回 溯的)方法来以自顶向下递归的方式构造决策树。 它首先根据所使用的分裂方法来对训练集递归地划分递归 地建立树的节点,直至满足下面两个条件之一,算法才停 止运行:( 1)训练数据集中每个子集的记录项全部属于 一类或某一个类占压倒性的多数;(2)生成的树节点通 过某个终止的分裂准则;最后,建立起决策树分类模型。
4
第一节 决策树算法原理
缺点: 不易处理连续数据。数据的属性必须被划分为不同的类别 才能处理,但是并非所有的分类问题都能明确划分成这个 区域类型; 对缺失数据难以处理,这是由于不能对缺失数据产生正确 的分支进而影响了整个决策树的生成; 决策树的过程忽略了数据库属性之间的相关性。
5
第一节 决策树算法原理
21
2.1 ID3算法
属性选择度量 在树的每个节点上使用信息增益(information gain)度量选 择测试属性。这种度量称作属性选择度量或分裂的优良性度 量。 选择具有最高信息增益(或最大信息熵压缩)的属性作为当 前节点的测试属性。该属性使得对结果划分中的样本分类所 需的信息量最小,并反映划分的最小随机性或“不纯性”。 这种信息理论方法使得对一个对象分类所需的期望测试数目 达到最小,并确保找到一棵简单的(但不必是最简单的)树。
数据挖掘中的数据分类算法综述

分析Technology AnalysisI G I T C W 技术136DIGITCW2021.021 决策树分类算法1.1 C 4.5分类算法的简介及分析C4.5分类算法在我国是应用相对较早的分类算法之一,并且应用非常广泛,所以为了确保其能够满足在对规模相对较大的数据集进行处理的过程中有更好的实用性能,对C4.5分类算法也进行了相应的改进。
C4.5分类算法是假如设一个训练集为T ,在对这个训练集建造相应的决策树的过程中,则可以根据In-formation Gain 值选择合理的分裂节点,并且根据分裂节点的具体属性和标准,可以将训练集分为多个子级,然后分别用不同的字母代替,每一个字母中所含有的元组的类别一致。
而分裂节点就成为了整个决策树的叶子节点,因而将会停止再进行分裂过程,对于不满足训练集中要求条件的其他子集来说,仍然需要按照以上方法继续进行分裂,直到子集所有的元组都属于一个类别,停止分裂流程。
决策树分类算法与统计方法和神经网络分类算法相比较具备以下优点:首先,通过决策树分类算法进行分类,出现的分类规则相对较容易理解,并且在决策树中由于每一个分支都对应不同的分类规则,所以在最终进行分类的过程中,能够说出一个更加便于了解的规则集。
其次,在使用决策树分类算法对数据挖掘中的数据进行相应的分类过程中,与其他分类方法相比,速率更快,效率更高。
最后,决策树分类算法还具有较高的准确度,从而确保在分类的过程中能够提高工作效率和工作质量。
决策树分类算法与其他分类算法相比,虽然具备很多优点,但是也存在一定的缺点,其缺点主要体现在以下几个方面:首先,在进行决策树的构造过程中,由于需要对数据集进行多次的排序和扫描,因此导致在实际工作过程中工作量相对较大,从而可能会使分类算法出现较低能效的问题。
其次,在使用C4.5进行数据集分类的过程中,由于只是用于驻留于内存的数据集进行使用,所以当出现规模相对较大或者不在内存的程序及数据即时无法进行运行和使用,因此,C4.5决策树分类算法具备一定的局限性。
《数据挖掘》试题与答案

一、解答题(满分30分,每小题5分)1. 怎样理解数据挖掘和知识发现的关系?请详细阐述之首先从数据源中抽取感兴趣的数据,并把它组织成适合挖掘的数据组织形式;然后,调用相应的算法生成所需的知识;最后对生成的知识模式进行评估,并把有价值的知识集成到企业的智能系统中。
知识发现是一个指出数据中有效、崭新、潜在的、有价值的、一个不可忽视的流程,其最终目标是掌握数据的模式。
流程步骤:先理解要应用的领域、熟悉相关知识,接着建立目标数据集,并专注所选择的数据子集;再作数据预处理,剔除错误或不一致的数据;然后进行数据简化与转换工作;再通过数据挖掘的技术程序成为模式、做回归分析或找出分类模型;最后经过解释和评价成为有用的信息。
2. 时间序列数据挖掘的方法有哪些,请详细阐述之时间序列数据挖掘的方法有:1)、确定性时间序列预测方法:对于平稳变化特征的时间序列来说,假设未来行为与现在的行为有关,利用属性现在的值预测将来的值是可行的。
例如,要预测下周某种商品的销售额,可以用最近一段时间的实际销售量来建立预测模型。
2)、随机时间序列预测方法:通过建立随机模型,对随机时间序列进行分析,可以预测未来值。
若时间序列是平稳的,可以用自回归(Auto Regressive,简称AR)模型、移动回归模型(Moving Average,简称MA)或自回归移动平均(Auto Regressive Moving Average,简称ARMA)模型进行分析预测。
3)、其他方法:可用于时间序列预测的方法很多,其中比较成功的是神经网络。
由于大量的时间序列是非平稳的,因此特征参数和数据分布随着时间的推移而变化。
假如通过对某段历史数据的训练,通过数学统计模型估计神经网络的各层权重参数初值,就可能建立神经网络预测模型,用于时间序列的预测。
3. 数据挖掘的分类方法有哪些,请详细阐述之分类方法归结为四种类型:1)、基于距离的分类方法:距离的计算方法有多种,最常用的是通过计算每个类的中心来完成,在实际的计算中往往用距离来表征,距离越近,相似性越大,距离越远,相似性越小。
数据挖掘-决策树PPT资料48页

0.247位 选择获得最大信息增益 的属性进行划分
划分过程的终止
当所有叶节点都是纯的。
因训练集包含两个具有相同属性集,但具有不同类 的实例。
ID3代表归纳决策树(induction decision—tree)版本 3,它是一种用来由数据构造决策树的递归过程。
lD3算法的步骤
1. 试探性地选择一个属性放置在根节点,并对该属 性的每个值产生一个分支。
2. 分裂根节点上的数据集,并移到子女节点,产生 一棵局部树(partial tree)。
决策树作用(2)
决策树的主要作用是揭示数据中的结构化信息。 决策树汇总了数据,并揭示了其中隐藏的结构:
规则:
如果血压高,则 采用药物A。
如果血压低,则 采用药物B。
如果血压正常。 年龄小于或等于 40,则采用药物 A,否则采用药 物B。
准确率、支持度、错误率
该例得到的规则和对应的准确率和支持度是:
如果血压高,则采用药物A(准确率100%,支持度 3/12)。
如果血压低,则采用药物B(准确率100%,支持度 3/12)。
如果血压正常并且年龄小于或等于40,则采用药 物A(准确率100%,支持度3/12)。
如果血压正常并且年龄大于40。则采用药物B(准 确率100%,支持度3/12)。
3. 对该划分的质量进行评估。 4. 对其他属性重复该过程。 5. 每个用于划分的属性产生一棵局部树。 6. 根据局部树的质量,选择一棵局部树。 7. 对选定的局部树的每个子女节点重复以上1-6步。 8. 这是一个递归过程。如果一个节点上的所有实例
分类分析--决策树(经典决策树、条件推断树)

分类分析--决策树(经典决策树、条件推断树)分类分析--决策树决策树是数据挖掘领域中的常⽤模型。
其基本思想是对预测变量进⾏⼆元分离,从⽽构造⼀棵可⽤于预测新样本单元所属类别的树。
两类决策树:经典树和条件推断树。
1 经典决策树经典决策树以⼀个⼆元输出变量(对应威斯康星州乳腺癌数据集中的良性/恶性)和⼀组预测变量(对应九个细胞特征)为基础。
具体算法如下:(1) 选定⼀个最佳预测变量将全部样本单元分为两类,实现两类中的纯度最⼤化(即⼀类中良性样本单元尽可能多,另⼀类中恶性样本单元尽可能多)。
如果预测变量连续,则选定⼀个分割点进⾏分类,使得两类纯度最⼤化;如果预测变量为分类变量(本例中未体现),则对各类别进⾏合并再分类。
(2) 对每⼀个⼦类别继续执⾏步骤(1)。
(3) 重复步骤(1)~(2),直到⼦类别中所含的样本单元数过少,或者没有分类法能将不纯度下降到⼀个给定阈值以下。
最终集中的⼦类别即终端节点(terminal node)。
根据每⼀个终端节点中样本单元的类别数众数来判别这⼀终端节点的所属类别。
(4) 对任⼀样本单元执⾏决策树,得到其终端节点,即可根据步骤3得到模型预测的所属类别。
上述算法通常会得到⼀棵过⼤的树,从⽽出现过拟合现象。
结果就是,对于训练集外单元的分类性能较差。
为解决这⼀问题,可采⽤10折交叉验证法选择预测误差最⼩的树。
这⼀剪枝后的树即可⽤于预测。
R中的rpart包⽀持rpart()函数构造决策树,prune()函数对决策树进⾏剪枝。
下⾯给出判别细胞为良性或恶性的决策树算法实现。
(1)使⽤rpart()函数创建分类决策树:#⽣成树:rpart()函数可⽤于⽣成决策树library(rpart)set.seed(1234)dtree <- rpart(class ~ ., data=df.train, method="class",parms=list(split="information"))#rpart() 返回的cptable值中包括不同⼤⼩的树对应的预测误差,因此可⽤于辅助设定最终的树的⼤⼩。
数据挖掘中的分类算法

数据挖掘中的分类算法数据挖掘是一种通过分析大量数据来发现模式、关联和趋势的方法。
分类算法是数据挖掘中的一种核心技术,它可以将数据分为不同的类别,有助于我们理解和利用数据。
本文将介绍数据挖掘中常用的几种分类算法。
一、决策树算法决策树算法是一种基于树形结构的分类算法,它将数据集划分为多个子集,每个子集都对应一个决策节点。
通过不断选择最佳划分节点,最终形成一棵完整的决策树。
决策树算法简单易懂,可解释性强,适用于离散型和连续型数据。
常见的决策树算法包括ID3、C4.5和CART 算法。
二、朴素贝叶斯算法朴素贝叶斯算法是一种基于概率统计的分类算法,它基于贝叶斯定理和特征条件独立假设,通过计算后验概率来进行分类。
朴素贝叶斯算法在文本分类、垃圾邮件过滤等领域有广泛应用。
它的优点是简单高效,对小样本数据有较好的分类效果。
三、支持向量机算法支持向量机算法是一种通过寻找最优超平面来进行分类的算法。
它的核心思想是将数据映射到高维特征空间,找到能够最好地将不同类别分开的超平面。
支持向量机算法适用于高维数据和样本较少的情况,具有较好的泛化能力和鲁棒性。
四、K近邻算法K近邻算法是一种基于距离度量的分类算法,它的原理是通过计算新样本与训练样本的距离,选取K个最近邻的样本来进行分类。
K近邻算法简单直观,适用于多样本情况下的分类问题。
然而,K近邻算法计算复杂度高,对异常值和噪声敏感。
五、神经网络算法神经网络算法是一种模拟人脑神经元连接方式的分类算法。
它通过构建多层网络、定义激活函数和调整权重来实现分类。
神经网络算法能够处理非线性问题,但对于大规模数据和参数调整比较困难。
六、集成学习算法集成学习算法是一种通过组合多个分类器的预测结果来进行分类的方法。
常见的集成学习算法有随机森林、AdaBoost和梯度提升树等。
集成学习算法能够有效地提高分类准确率和鲁棒性,适用于大规模数据和复杂问题。
在选择分类算法时,需要综合考虑数据类型、数据量、准确性要求以及计算资源等因素。
决策树算法介绍

3.1 分类与决策树概述3.1。
1 分类与预测分类是一种应用非常广泛的数据挖掘技术,应用的例子也很多。
例如,根据信用卡支付历史记录,来判断具备哪些特征的用户往往具有良好的信用;根据某种病症的诊断记录,来分析哪些药物组合可以带来良好的治疗效果。
这些过程的一个共同特点是:根据数据的某些属性,来估计一个特定属性的值。
例如在信用分析案例中,根据用户的“年龄”、“性别”、“收入水平"、“职业”等属性的值,来估计该用户“信用度”属性的值应该取“好”还是“差",在这个例子中,所研究的属性“信用度"是一个离散属性,它的取值是一个类别值,这种问题在数据挖掘中被称为分类。
还有一种问题,例如根据股市交易的历史数据估计下一个交易日的大盘指数,这里所研究的属性“大盘指数”是一个连续属性,它的取值是一个实数。
那么这种问题在数据挖掘中被称为预测.总之,当估计的属性值是离散值时,这就是分类;当估计的属性值是连续值时,这就是预测.3。
1.2 决策树的基本原理1.构建决策树通过一个实际的例子,来了解一些与决策树有关的基本概念.表3—1是一个数据库表,记载着某银行的客户信用记录,属性包括“姓名”、“年龄”、“职业”、“月薪”、..。
..。
、“信用等级”,每一行是一个客户样本,每一列是一个属性(字段)。
这里把这个表记做数据集D.银行需要解决的问题是,根据数据集D,建立一个信用等级分析模型,并根据这个模型,产生一系列规则。
当银行在未来的某个时刻收到某个客户的贷款申请时,依据这些规则,可以根据该客户的年龄、职业、月薪等属性,来预测其信用等级,以确定是否提供贷款给该用户。
这里的信用等级分析模型,就可以是一棵决策树. 在这个案例中,研究的重点是“信用等级”这个属性。
给定一个信用等级未知的客户,要根据他/她的其他属性来估计“信用等级”的值是“优”、“良"还是“差”,也就是说,要把这客户划分到信用等级为“优”、“良"、“差"这3个类别的某一类别中去.这里把“信用等级”这个属性称为“类标号属性”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
决策树分类算法学号:*********** 学生所在学院:软件工程学院***************教师所在学院:软件工程学院2015年11月12软件1班决策树分类算法葛强强12软件1班摘要:决策树方法是数据挖掘中一种重要的分类方法,决策树是一个类似流程图的树型结构,其中树的每个内部结点代表对一个属性的测试,其分支代表测试的结果,而树的每个叶结点代表一个类别。
通过决策树模型对一条记录进行分类,就是通过按照模型中属性测试结果从根到叶找到一条路径,最后叶节点的属性值就是该记录的分类结果。
关键词:数据挖掘,分类,决策树近年来,随着数据库和数据仓库技术的广泛应用以及计算机技术的快速发展,人们利用信息技术搜集数据的能力大幅度提高,大量数据库被用于商业管理、政府办公、科学研究和工程开发等。
面对海量的存储数据,如何从中有效地发现有价值的信息或知识,是一项非常艰巨的任务。
数据挖掘就是为了应对这种要求而产生并迅速发展起来的。
数据挖掘就是从大型数据库的数据中提取人们感兴趣的知识,这些知识是隐含的、事先未知的潜在有用的信息,提取的知识表示为概念、规则、规律、模式等形式。
分类在数据挖掘中是一项非常重要的任务。
分类的目的是学会一个分类函数或分类模型,把数据库中的数据项映射到给定类别中的某个类别。
分类可用于预测,预测的目的是从历史数据记录中自动推导出对给定数据的趋势描述,从而能对未来数据进行预测。
分类算法最知名的是决策树方法,决策树是用于分类的一种树结构。
1决策树介绍决策树(decisiontree)技术是用于分类和预测的主要技术,决策树学习是一种典型的以实例为基础的归纳学习算法,它着眼于从一组无次序、无规则的事例中推理出决策树表示形式的分类规则。
它采用自顶向下的递归方式,在决策树的内部节点进行属性的比较,并根据不同属性判断从该节点向下的分支,在决策树的叶节点得到结论。
所以从根到叶节点就对应着一条合取规则,整棵树就对应着一组析取表达式规则。
把决策树当成一个布尔函数。
函数的输入为物体或情况的一切属性(property),输出为”是”或“否”的决策值。
在决策树中,每个树枝节点对应着一个有关某项属性的测试,每个树叶节点对应着一个布尔函数值,树中的每个分支,代表测试属性其中一个可能的值。
最为典型的决策树学习系统是ID3,它起源于概念学习系统CLS,最后又演化为能处理连续属性的C4.5(C5.0)等。
它是一种指导的学习方法,该方法先根据训练子集形成决策树。
如果该树不能对所有给出的训练子集正确分类,那么选择一些其它的训练子集加入到原来的子集中,重复该过程一直到时形成正确的决策集。
当经过一批训练实例集的训练产生一棵决策树,决策树可以根据属性的取值对一个未知实例集进行分类。
使用决策树对实例进行分类的时候,由树根开始对该对象的属性逐渐测试其值,并且顺着分支向下走,直至到达某个叶结点,此叶结点代表的类即为该对象所处的类。
决策树是应用非常广泛的分类方法,目前有多种决策树方法,如ID3,C4.5,PUBLIC,CART,CN2,SLIQ,SPRINT等。
大多数已开发的决策树是一种核心算法的变体,下面先介绍一下决策树分类的基本思想决策树构造与剪枝,然后详细介绍ID3和C4.5算法及决策树算法的分析及改进等。
2决策树构造与剪枝决策树分类算法通常分为两个步骤,决策树生成和决策树剪枝。
2.1决策树构造决策树构造算法的输入是一组带有类别标记的例子,构造的结果是一棵二叉树或多叉树。
二叉树的内部结点(非叶子结点)一般表示为一个逻辑判断,如形式为(ai=vi)的逻辑判断,其中ai是属性,vi是该属性的某个值。
树的边是逻辑判断的分支结果。
多叉树的内部结点是属性,边是该属性的所有取值,有几个属性值,就有几条边。
树的叶子结点都是类别标记。
构造决策树的方法是采用自上而下的递归构造。
以多叉树为例,它的构造思路是,以代表训练样本的单个结点开始建树,如果样本都在同一个类,则将其作为叶子结点,节点内容即是该类别标记。
否则,根据某种策略选择一个属性,按照属性和各个取值,把例子集合划分为若干子集合,使得每个子集上的所有例子在该属性上具有同样的属性值。
然后再依次递归处理各个子集。
这种思路实际上就是“分而治之”的道理。
二叉树同理,差别仅在于要如何选择好的逻辑判断。
构造好的决策树的关键在于如何选择好的逻辑判断或属性。
对于同样的一组例子,可以有很多决策树符合这组例子。
研究结果表明,一般情况下,树越小则树的预测能力越强。
要构造尽可能小的决策树,关键在于选择合适的产生分支的属性。
属性选择依赖于对各种例子子集的不纯度(Impurity)度量方法。
不纯度度量方法包括信息增益(InformationGain)、信息增益比(GainRa-tio)、Gini-index、距离度量、x2统计、证据权重、最小描述长度等。
不同的度量由不同的效果,特别是对于多值属性,选择合适的度量方法对于结果的影响是很大的。
ID3,C4.5,C5.0算法使用信息增益的概念来构造决策树,而CART算法x则使用Gini-in-dex,其中每个分类的决定都与前面所选择的目标分类相关。
2.2决策树的剪枝数据挖掘的对象是现实世界的数据,这些数据一般不可能是完美的,可能某些属性字段上缺值;可能缺少必须的数据而造成数据不完整;可能数据不准确、含有噪声甚至是错误的,所以要讨论噪声问题。
基本的决策树构造算法没有考虑噪声,生成的决策树完全与训练例子拟合。
有噪声情况下,完全拟合将导致过分拟合,即对训练数据的完全拟合反而不具有很好的预测性能。
剪枝是一种克服噪声的技术,同时它也能使树得到简化而变得更容易理解。
1)两种基本的剪枝策略。
①前期剪枝(Forward-Pruning)是在树的生长过程完成前就进行剪枝。
在树的生长过程中,决定是继续对不纯的训练子集进行划分还是停机。
例如某些有效统计量达到某个预先设定的阈值时,节点不再继续分裂,内部节点成为一个叶子节点。
叶子节点取子集中频率最大的类作为自己的标识,或者可能仅仅存储这些实例的概率分布函数。
前期剪枝会引起树在不完全成熟之前停止工作,即树可能在不应停止的时候而停止扩展,或称之为horizon效应,而且,选取一个适当的阈值是困难的。
较高的阈值可能导致过分简化的树,而较低的阈值可能使树简化的太少。
即使这样,预先修剪对大规模的实际应用还是值得研究的,因为它相当高效。
人们有望在未来的算法中解决horizon效应。
②后期剪枝(Post-Pruning)是当决策树的生长过程完成之后再进行剪枝。
它是一种拟合-化简(Fitting-and-simplifying)的两阶段方法。
首先生成与训练数据完全拟合的一棵决策树,然后由下向上从树的叶子开始剪枝,逐步向根的方向剪。
剪枝时要用到一个测试数据集合,如果存在某个叶子剪去后测试集上的准确度或其它测度不降低(不变得更坏),则剪去该叶子,否则停机。
如果节点的子树不应按某种规则被修剪,则由下向上的评价规则将使该节点避免被按同一规则修剪。
与此相对的是自上向下的策略,即从根开始依次修剪节点,直到无法修剪为止。
这样作的风险在于,按某种规则剪掉了某个节点,但其子类是不应按这一规则被剪掉的。
2)对树进行修剪优化时应遵循的原则。
①最小描述长度原则(MDL)。
它的思想是最简单的解释是期望的,做法是对决策树进行二进位编码。
编码所需二进位最少的树即为“最佳剪枝树”。
②期望错误率最小原则。
它的思想是选择期望错误率最小的子树剪枝,即对树中的内部节点计算其剪枝/不剪枝可能出现的期望错误率,比较后加以取舍。
③奥卡姆剃刀原则。
如无必要,勿增实体。
即“在与观察相容的理论中,应当选择最简单的一个”,决策树越小就越容易被理解,其存储与传输的代价也就越小。
3 ID3算法ID3算法是1986年Quinlan提出的一个著名决策树生成方法,是目前引用率很高的一种算法。
ID3算法是运用信息熵理论,选择当前样本集中最大信息增益的属性值作为测试属性;样本集的划分则依据测试属性值进行,测试属性有多少不同取值就将样本集划分为多少子样本集,同时,决策树上相应于该样本集的节点长出新的叶子节点。
由于决策树的结构越简单越能从本质的层次上概括事物的规律,期望非叶节点到达后代节点的平均路径总是最短,即生成的决策树的平均深度最小,这就要求在每个节点选择好的划分。
系统的不确定性越小,信息的传递就越充分。
ID3算法根据信息理论,采用划分后样本集的不确定性作为衡量划分好坏的标准,用信息增益值度量:信息增益值越大,不确定性越小。
因此,算法在每个非叶节点选择信息增益最大的属性作为测试属性。
ID3算法将对挖掘样本集分为训练样本集和测试样本集,决策树的构建是在对训练样本集的学习上产生的,决策树生成之后,再运用测试样本集对树进行后剪技,将分类预测准确率不符合条件的叶节点剪去。
1)信息理论(Informaitontheory)和熵(Entro-py)。
信息论是C.EShannon为解决信息传递(通信)过程问题而建立的理论,一个传递信息的系统是由发送端和接收端以及连接两者的通道三者组成。
熵是对事件对应的属性的不确定性的度量。
一个属性的熵值越小、子集划分的纯度越高,熵值熵越大,它蕴含的不确定信息越大,约有利于数据的分类。
2)信息增益(InformmationGain)。
信息增益基于信息论中熵(Entropy)的概念,是指期望信息或者信息熵的有效减少量(通常用“字节”衡量),根据它能够确定在什么样的层次上选择什么样的变量来分类。
ID3总是选择具有最高信息增益(或最大熵)的属性作为当前结点的测试属性。
该属性使得对结果划分中的样本分类所需的信息量最小,并反映划分的最小随机性或“不纯性”。
信息增益计算如下:设S是s个训练样本数据集,S中类标识属性具有m个不同值,定义m个不同类Ci (i=1,2,3…,m)。
设si是类Ci中的样本数。
对一个给定的样本分类所需的期望信息由下式得出:I(s1,s2,…,sm)=-m∑i=1 pilb(pi)其中pi是任意样本属于Ci的概率,一般可用si/s来估计。
设属性A具有n个不同值{a1,a2,…,an},可以用属性A将S划分为n个子集{S1,S2,…,Sn},其中Sj包含S中这样一些样本,它们在A上具有值aj。
如果A作为测试属性,则这些子集对应于由包含集合S的结点生长出来的分支。
设sij是子集Sj中类Ci的样本数。
根据由A划分成子集的熵由下式给出:E(A)=-n∑j=1 s1j+s2j+…+smjsI(s1j,s2j,…,smj)根据上面的期望信息计算公式,对于给定的子集Sj,其期望信息由下式计算:I(s1j,s2j,…,smj)=-m∑i=1 pijlb(pij)其中(pij=sij|sj|)对属性A作为决策分类属性的度量值即信息增益可以由下面的公式得到:Gain(A)=I(s1,s2,…,sm)-E(A)3)ID3算法的分析。