数据分类决策树课件.ppt
数据分类决策树2022/10/51第1页,此课件共65页哦 第5章章决策树和决策规则决策树和决策规则 5.1引例引例 n分类的定义n分类是指把数据样本映射到一个事先定义的类中的学习过程,即给定一组输入的属性向量及其对应的类,用基于归纳的学习算法得出分类。2022/10/52第2页,此课件共65页哦AgeSalaryClass30highc125highc221lowc243highc118lowc233lowc1描述属性描述属性类别属性类别属性分类问题使用的数据集格式:分类问题使用的数据集格式:2022/10/53第3页,此课件共65页哦5.1 引例n分类问题使用的数据集格式n描述属性可以是连续型属性,也可以是离散型属性;而类别属性必须是离散型属性。n连续型属性是指在某一个区间或者无穷区间内该属性的取值是连续的,例如属性“Age”n离散型属性是指该属性的取值是不连续的,例如属性“Salary”和“Class”2022/10/54第4页,此课件共65页哦5.1 引例n分类问题使用的数据集格式n分 类 问 题 中 使 用 的 数 据 集 可 以 表 示 为X=(xi,yi)|i=1,2,totalnxi=(xi1,xi2,xid),其中xi1,xi2,xid分别对应d个描述属性A1,A2,Ad的具体取值nyi表示数据样本xi的类标号,假设给定数据集包含m个类别,则yic1,c2,cm,其中c1,c2,cm是类别属性C的具体取值n未 知 类 标 号 的 数 据 样 本x用d维 特 征 向 量x=(x1,x2,xd)来表示2022/10/55第5页,此课件共65页哦5.2 分类问题概述n5.2.1 分类的过程n5.2.2 分类的评价准则2022/10/56第6页,此课件共65页哦5.2.1 分类的过程获取数据获取数据预处理预处理分类器设计分类器设计分类决策分类决策2022/10/57第7页,此课件共65页哦5.2.1 分类的过程n获取数据n输入数据、对数据进行量化n预处理n去除噪声数据、对空缺值进行处理n数据集成或者变换 n分类器设计n划分数据集、分类器构造、分类器测试n分类决策n对未知类标号的数据样本进行分类2022/10/58第8页,此课件共65页哦5.2.2 分类的评价准则n给定测试集Xtest=(xi,yi)|i=1,2,NnN表示测试集中的样本个数nxi表示测试集中的数据样本nyi表示数据样本xi的类标号n对于测试集的第j个类别,假设n被正确分类的样本数量为TPjn被错误分类的样本数量为FNjn其他类别被错误分类为该类的样本数据量为FPj2022/10/59第9页,此课件共65页哦5.2.2 分类的评价准则n精确度:代表测试集中被正确分类的数据样本所占的比例 2022/10/510第10页,此课件共65页哦5.2.2 分类的评价准则n查全率:表示在本类样本中被正确分类的样本所占的比例 n查准率:表示被分类为该类的样本中,真正属于该类的样本所占的比例 2022/10/511第11页,此课件共65页哦5.2.2 分类的评价准则nF-measure(加加权权调调合合平平均均数数):是查全率和查准率的组合表达式 n是可以调节的,通常取值为1 2022/10/512第12页,此课件共65页哦5.2.2 分类的评价准则n几何均值:是各个类别的查全率的平方根 2022/10/513第13页,此课件共65页哦 决决策策树树方方法法的的起起源源是是亨亨特特(HuntHunt,19661966)的的概概念念学学习习系系统统CLSCLS方方法法,然然后后发发展展到到由由QuinlanQuinlan研研制制ID3ID3方方法法,然然后后到到著著名名的的C4.5C4.5算算法法,C4.5C4.5算算法法的的一一个个优优点点是是它它能能够够处处理理连连续续属属性性。还还有有CARTCART算算法法和和AssistantAssistant算法也是比较有名的决策树方法。算法也是比较有名的决策树方法。5.3 5.3 决策树决策树2022/10/514第14页,此课件共65页哦n决策树的优点:n进行分类器设计时,决策树分类方法所需时间相对较少n决策树的分类模型是树状结构,简单直观,比较符合人类的理解方式n可以将决策树中到达每个叶节点的路径转换为IFTHEN形式的分类规则,这种形式更有利于理解2022/10/515第15页,此课件共65页哦1.1.什么是决策树什么是决策树q决决策策树树(Decision Decision TreeTree)又又称称为为判判定定树树,是是运运用用于于分分 类类 的的 一一 种种 树树 结结 构构。其其 中中 的的 每每 个个 内内 部部 结结 点点(internal internal nodenode)代代表表对对某某个个属属性性的的一一次次测测试试,每每条条边边代代表表一一个个测测试试结结果果,叶叶结结点点(leafleaf)代代表表某某个个类类(classclass)或或者者类类的的分分布布(class class distributiondistribution),最最上面的结点是根结点。上面的结点是根结点。q决决策策树树提提供供了了一一种种展展示示类类似似在在什什么么条条件件下下会会得得到到什什么么值值这这类类规规则则的的方方法法。下下例例是是为为了了解解决决这这个个问问题题而而建建立立的的一一棵棵决决策策树树,从从中中可可以以看看到到决决策策树树的的基基本本组组成成部部分分:决决策策结点、分支和叶结点。结点、分支和叶结点。2022/10/516第16页,此课件共65页哦例例图图5-2给出了一个商业上使用的决策树的例子。它表示了给出了一个商业上使用的决策树的例子。它表示了一个关心电子产品的用户是否会购买一个关心电子产品的用户是否会购买PC(buys_computer)的知)的知识,用它可以预测某条记录(某个人)的购买意向。识,用它可以预测某条记录(某个人)的购买意向。图图5-2buys_computer的决策树的决策树 2022/10/517第17页,此课件共65页哦这这棵棵决决策策树树对对销销售售记记录录进进行行分分类类,指指出出一一个个电电子子产产品品消消费费者者是是否否会会购购买买一一台台计计算算机机“buys_computerbuys_computer”。每每个个内内部部结结点点(方方形形框框)代表对某个属性的一次检测。每个叶结点(椭圆框)代表一个类:代表对某个属性的一次检测。每个叶结点(椭圆框)代表一个类:buys_computers=yes buys_computers=yes 或者或者 buys_computers=nobuys_computers=no在这个例子中,样本向量为:在这个例子中,样本向量为:(age,student,credit_rating;buys_computersage,student,credit_rating;buys_computers)被决策数据的格式为被决策数据的格式为:(age,student,credit_ratingage,student,credit_rating)输入新的被决策的记录,可以预测该记录隶属于哪个类。输入新的被决策的记录,可以预测该记录隶属于哪个类。2022/10/518第18页,此课件共65页哦2.2.使用决策树进行分类使用决策树进行分类 构造决策树是采用自上而下的递归构造方法。以多叉树为例,构造决策树是采用自上而下的递归构造方法。以多叉树为例,如果一个训练数据集中的数据有几种属性值,则按照属性的各种如果一个训练数据集中的数据有几种属性值,则按照属性的各种取值把这个训练数据集再划分为对应的几个子集(分支),然后取值把这个训练数据集再划分为对应的几个子集(分支),然后再依次递归处理各个子集。反之,则作为叶结点。再依次递归处理各个子集。反之,则作为叶结点。决策树构造的结果是一棵二叉或多叉树,它的输入是一组决策树构造的结果是一棵二叉或多叉树,它的输入是一组带有类别标记的训练数据。二叉树的内部结点(非叶结点)一带有类别标记的训练数据。二叉树的内部结点(非叶结点)一般表示为一个逻辑判断,如形式为般表示为一个逻辑判断,如形式为(a=b)的逻辑判断,其中的逻辑判断,其中a是是属性,属性,b是该属性的某个属性值;树的边是逻辑判断的分支结是该属性的某个属性值;树的边是逻辑判断的分支结果。多叉树(果。多叉树(ID3)的内部结点是属性,边是该属性的所有取值,)的内部结点是属性,边是该属性的所有取值,有几个属性值,就有几条边。树的叶结点都是类别标记。有几个属性值,就有几条边。树的叶结点都是类别标记。2022/10/519第19页,此课件共65页哦使用决策树进行分类分为两步:使用决策树进行分类分为两步:q第第1 1步步:利利用用训训练练集集建建立立并并精精化化一一棵棵决决策策树树,建建立立决决策策树树模模型型。这这个过程实际上是一个从数据中获取知识,进行机器学习的过程。个过程实际上是一个从数据中获取知识,进行机器学习的过程。q第第2 2步步:利利用用生生成成完完毕毕的的决决策策树树对对输输入入数数据据进进行行分分类类。对对输输入入的的记记录录,从从根根结结点点依依次次测测试试记记录录的的属属性性值值,直直到到到到达达某某个个叶叶结结点点,从从而找到该记录所在的类。而找到该记录所在的类。2022/10/520第20页,此课件共65页哦问题的关键是建立一棵决策树。这个过程通常分为两个阶段:问题的关键是建立一棵决策树。这个过程通常分为两个阶段:q建建树树(Tree Tree BuildingBuilding):决决策策树树建建树树算算法法见见下下,这这是是一一个个递归的过程,最终将得到一棵树。递归的过程,最终将得到一棵树。q剪剪枝枝(Tree Tree PruningPruning):剪剪枝枝的的目目的的是是降降低低由由于于训训练练集集存存在在噪噪声而产生的起伏。声而产生的起伏。2022/10/521第21页,此课件共65页哦 由由Quinlan在在80年代中期提出的年代中期提出的ID3算法是分类规则挖掘算算法是分类规则挖掘算法中最有影响的算法。法中最有影响的算法。ID3即决策树归纳(即决策树归纳(InductionofDecisionTree)。早期的)。早期的ID算法只能就两类数据进行挖掘(如正类和反类);算法只能就两类数据进行挖掘(如正类和反类);经过改进后,现在经过改进后,现在ID算法可以挖掘多类数据。待挖掘的数据必须是算法可以挖掘多类数据。待挖掘的数据必须是不矛盾的、一致的,也就是说,对具有相同属性的数据,其对应不矛盾的、一致的,也就是说,对具有相同属性的数据,其对应的类必须是唯一的。在的类必须是唯一的。在ID3算法挖掘后,分类规则由决策树来算法挖掘后,分类规则由决策树来表示。表示。5.4 5.4 分类规则挖掘的分类规则挖掘的ID3ID3算法算法2022/10/522第22页,此课件共65页哦1.ID31.ID3算法的基本思想算法的基本思想 由训练数据集中全体属性值生成的所有决策树的集合称为搜索由训练数据集中全体属性值生成的所有决策树的集合称为搜索空间,该搜索空间是针对某一特定问题而提出的。系统根据某个评空间,该搜索空间是针对某一特定问题而提出的。系统根据某个评价函数决定搜索空间中的哪一个决策树是价函数决定搜索空间中的哪一个决策树是“最好最好”的。评价函数一的。评价函数一般依据分类的准确度和树的大小来决定决策树的质量。如果两棵般依据分类的准确度和树的大小来决定决策树的质量。如果两棵决策树都能准确地在测试集进行分类,则选择较简单的那棵。相决策树都能准确地在测试集进行分类,则选择较简单的那棵。相对而言,决策树越简单,则它对未知数据的预测性能越佳。寻找对而言,决策树越简单,则它对未知数据的预测性能越佳。寻找一棵一棵“最好最好”的决策树是一个的决策树是一个NP完全问题。完全问题。NPNP完全问题是这样的问题:用确定性的算法在多项式时间内完全问题是这样的问题:用确定性的算法在多项式时间内无法解决的问题。实际之中,解决这样的问题,往往是根据无法解决的问题。实际之中,解决这样的问题,往往是根据用启发式算法,求出近似的解。用启发式算法,求出近似的解。2022/10/523第23页,此课件共65页哦ID3ID3使使用用一一种种自自顶顶向向下下的的方方法法在在部部分分搜搜索索空空间间创创建建决决策策树树,同同时时保保证找到一棵简单的决策树证找到一棵简单的决策树可能不是最简单的。可能不是最简单的。ID3ID3算法的基本思想描述如下:算法的基本思想描述如下:step step 1 1任任意意选选取取一一个个属属性性作作为为决决策策树树的的根根结结点点,然然后后就就这这个个属性所有的取值创建树的分支;属性所有的取值创建树的分支;step step 2 2用用这这棵棵树树来来对对训训练练数数据据集集进进行行分分类类,如如果果一一个个叶叶结结点点的的所所有有实实例例都都属属于于同同一一类类,则则以以该该类类为为标标记记标标识识此此叶叶结结点点;如如果果所所有有的的叶叶结结点都有类标记,则算法终止;点都有类标记,则算法终止;step step 3 3否否则则,选选取取一一个个从从该该结结点点到到根根路路径径中中没没有有出出现现过过的的属属性性为为标标记记标标识识该该结结点点,然然后后就就这这个个属属性性所所有有的的取取值值继继续续创创建建树树的的分分支支;重复算法步骤重复算法步骤step 2step 2;agestudentcredit_ratingbuys_computers25YESexcellantYES35NOfairYES2022/10/524第24页,此课件共65页哦这个算法一定可以创建一棵基于训练数据集的正确的决策树,这个算法一定可以创建一棵基于训练数据集的正确的决策树,然而,这棵决策树不一定是简单的。显然,不同的属性选取顺序将然而,这棵决策树不一定是简单的。显然,不同的属性选取顺序将生成不同的决策树。因此,适当地选取属性将生成一棵简单的决策生成不同的决策树。因此,适当地选取属性将生成一棵简单的决策树。树。在在ID3算法中,采用了一种基于信息的启发式的方法来决定如算法中,采用了一种基于信息的启发式的方法来决定如何选取属性。启发式方法选取具有最高信息量的属性,也就是说,生何选取属性。启发式方法选取具有最高信息量的属性,也就是说,生成最少分支决策树的那个属性。成最少分支决策树的那个属性。2022/10/525第25页,此课件共65页哦算法:算法:Generate_decision_treeGenerate_decision_tree由给定的训练数据产生一棵决策树由给定的训练数据产生一棵决策树输入:训练数据集输入:训练数据集samplessamples,用离散值属性表示;候选属性的集合,用离散值属性表示;候选属性的集合attribute_listattribute_list。输出:一棵决策树输出:一棵决策树方法:方法:(1 1)创建结点)创建结点N N;(2 2)if samples if samples 都在同一个类都在同一个类C thenC then(3 3)返回)返回N N作为叶结点,用类作为叶结点,用类C C标记;标记;(4 4)if attribute_list if attribute_list 为空为空 then then(5 5)返回)返回N N作为叶结点,标记作为叶结点,标记samplessamples中最普通的类;中最普通的类;/多数表决多数表决(6 6)选择)选择attribute_listattribute_list中具有最高信息增益的属性中具有最高信息增益的属性test_attributetest_attribute;/用信息增益作为属性选择度量用信息增益作为属性选择度量(7 7)标记结点)标记结点N N为为test_attributetest_attribute;(8 8)for each test_attributefor each test_attribute中的已知值中的已知值ai /ai /划分划分samplessamples(9 9)由结点)由结点N N生长出一个条件为生长出一个条件为test_attributetest_attributeaiai的分枝;的分枝;(1010)设)设sisi为为samplessamples中中test_attributetest_attributeaiai的样本集合;的样本集合;/一个划分一个划分(1111)if siif si为空为空 thenthen(1212)加上一个叶结点,标记为标记)加上一个叶结点,标记为标记samplessamples中最普通的类;中最普通的类;/多数表决多数表决(1313)else else 加上一个由加上一个由Generate_decision_treeGenerate_decision_tree(si,attribute_list-test_attributesi,attribute_list-test_attribute)返回的结点;)返回的结点;2022/10/526第26页,此课件共65页哦2.2.属性选择度量属性选择度量在在Generate_decision_treeGenerate_decision_tree算算 法法 的的Step Step 6 6,算算 法法 需需 选选 择择attribute_listattribute_list中中具具有有最最高高信信息息增增益益的的属属性性test_attributetest_attribute。ID3ID3算算法法在在树树的的每每个个结结点点上上以以信信息息增增益益(information information gaingain)作作为为度度量量来来选选择择测测试试属属性性。这这种种度度量量称称为为属属性性选选择择度度量量或或分分裂裂的的优优良良性性度度量量。选选择择具具有有最最高高信信息息增增益益(或或最最大大熵熵压压缩缩)的的属属性性作作为为当当前前结结点点的的测测试试属属性性。该该属属性性使使得得对对结结果果划划分分中中的的样样本本分分类类所所需需要要的的信信息息量量最最小小,并并确确保保找找到到一一棵棵简简单单的的(但但不不一一定定是是最最简简单单的的)决决策树。策树。2022/10/527第27页,此课件共65页哦Information Information GainGain指指标标的的原原理理来来自自于于信信息息论论。19481948年年,香香农农(C.C.E.E.ShannonShannon)提提出出了了信信息息论论。其其中中给给出出了了关关于于信信息息量量(InformationInformation)和和熵熵(EntropyEntropy)的的定定义义,熵熵实实际际上上是是系系统统信信息息量的加权平均,也就是系统的平均信息量。量的加权平均,也就是系统的平均信息量。2022/10/528第28页,此课件共65页哦假假设设要要选选择择有有n n个个输输出出(所所给给属属性性的的n n个个值值)的的检检验验,把把训训练练样样本本集集T T分分区区成成子子集集T T1 1,T T2 2,T Tn n。仅仅有有的的指指导导信信息息是是在在T T和和它它的的子子集集T Ti i中中的的类类的的分分布布。如如果果S S是是任任意意样样本本集集,设设freq(freq(C Ci i,S),S)代代表表S S中中属属于于类类C Ci i (k k个个可可能能的的类类中中的的一一个个)的的样样本本数数量量,|S|S|表表示示集合集合S S中的样本数量。下面给出了集合中的样本数量。下面给出了集合S S(单位为比特)的熵计算:(单位为比特)的熵计算:kInfo(S)i=1 (freq(freq(C Ci i,S),S)/|S|).log2(freq(freq(C Ci i,S),S)/|S|)以以2 2为底的原因是:信息按二进制位编码为底的原因是:信息按二进制位编码2022/10/529第29页,此课件共65页哦熵熵是是一一个个衡衡量量系系统统混混乱乱程程度度的的统统计计量量。熵熵越越大大,表表示示系系统统越混乱。越混乱。分分类类的的目目的的是是提提取取系系统统信信息息,使使系系统统向向更更加加有有序序、有有规规则则组组织织的的方方向向发发展展。所所以以最最佳佳的的分分裂裂方方案案是是使使熵熵减减少少量量最最大大的的分分裂裂方方案案。熵熵减减少少量量就就是是Information Information GainGain(信信息息增增益益),所所以以,最最佳佳分分裂裂就就是是使使Gain(A)Gain(A)最最大大的的分分裂裂方方案案。通通常常,这这个个最最佳方案是用佳方案是用“贪心算法贪心算法+深度优先搜索深度优先搜索”得到的。得到的。2022/10/530第30页,此课件共65页哦现现在在考考虑虑T T被被分分区区之之后后的的一一个个相相似似度度量量标标准准,T T按按照照一一个个属属性性检检验验X X的的几几个个输输出出进进行行分分区区。所所需需信信息息可可通通过过这这些些子子集集的的熵熵的的加加权权和和求求得:得:n nInfo x(T)i=1 (|T|Ti i|/|T|).info(Ti)信息增益的计算公式:信息增益的计算公式:Gain(X)=Info(T)-Gain(X)=Info(T)-Infox(T)通过计算求出具有最高增益的属性。通过计算求出具有最高增益的属性。2022/10/531第31页,此课件共65页哦以以下下分分析析有有关关度度量量标标准准的的应应用用和和创创建建决决策策树树的的一一个个简简单单例例子子,假假设设以以平平面面文文件件形形式式给给出出的的数数据据集集T T,其其中中有有1414个个样样本本,通通过过3 3个个输入属性描述且属于所给的两个类之一:类输入属性描述且属于所给的两个类之一:类1 1或类或类2 2。2022/10/532第32页,此课件共65页哦训练例子的简单平面数据库训练例子的简单平面数据库数据库T:属性1属性2属性3属性4A70真类1A90真类2A85假类2A95假类2A70假类1B90真类1B78假类1B65真类1B75假类1C80真类2C70真类2C80假类1C80假类1C96假类12022/10/533第33页,此课件共65页哦其中:其中:9 9个样本属于类个样本属于类1 1,5 5个样本属于类个样本属于类2 2,因此分区前的熵为:,因此分区前的熵为:info(T)-9/14.log2(9/149/14)-5/14.log2(5/145/14)=0.940比特根根据据属属性性1 1把把初初始始样样本本集集分分区区成成3 3个个子子集集(检检验验x x1 1表表示示从从3 3个个值值A A,B B或或C C中选择其一)后,得出结果:中选择其一)后,得出结果:Info x1(T)5/14(-2/5 log2(2/52/5)-3/5 log2(3/53/5))+4/14(-4/4 log2(4/44/4)-0/4 log2(0/4/4))+5/14(-3/5 log2(3/53/5)-2/5 log2(2/5/5))=0.694比特通过检验通过检验x x1 1获得的信息增益是:获得的信息增益是:Gain(Gain(x x1 1)=0.940)=0.940 0.694=0.246 0.694=0.246比特比特2022/10/534第34页,此课件共65页哦如如果果该该检检验验和和分分区区是是基基于于属属性性3 3的的(检检验验x x2 2表表示示从从真真或或假假两两个个值值选选择其一),类似地有:择其一),类似地有:Info x2(T)6/14(-3/6 log2(3/63/6)-3/6 log2(3/63/6))+8/14(-6/8 log2(6/86/8)-2/8 log2(2/8/8))=0.892比特通过检验通过检验x x2 2获得的增益是:获得的增益是:Gain(Gain(x x2 2)=0.940)=0.940 0.892=0.048 0.892=0.048比特比特按照增益准则,将选择按照增益准则,将选择x x1 1作为分区数据库作为分区数据库T T的最初检验。的最初检验。为为了了求求得得最最优优检检验验还还必必须须分分析析关关于于属属性性2 2的的检检验验,它是连续取值的数值型属性。它是连续取值的数值型属性。2022/10/535第35页,此课件共65页哦3.ID33.ID3算法的改进算法的改进(1 1)离散化)离散化为为了了解解决决该该问问题题,在在用用ID3ID3算算法法挖挖掘掘具具有有连连续续性性属属性性的的知知识识时时,应应该该首首先先把把该该连连续续性性属属性性离离散散化化。最最简简单单的的方方法法就就是是把把属属性值分成性值分成 和和两两段段。如如身身高高可可以以分分为为1 1米米以以下下,1 1米米以以上上或或者者分分为为1.51.5米米以以下下,1.51.5米米以以上上。如如何何选选择择最最佳佳的的分分段段值值呢呢?对对任任何何一一个个属属性性,其其所所有有的的取取值值在在一一个个数数据据集集中中是是有有限限的的。假假设设该属性取值为该属性取值为,则则在在这这个个集集合合中中,一一共共存存在在m-1m-1个个分分段段值值,ID3ID3算算法法采采用用计计算信息量的方法计算最佳的分段值,然后进一步构建决策树。算信息量的方法计算最佳的分段值,然后进一步构建决策树。ID3ID3算算法法的的扩扩展展是是C4.5算算法法,C4.5算算法法把把分分类类范范围围从从分分类类属属性扩展到数字属性。性扩展到数字属性。2022/10/536第36页,此课件共65页哦1.C4.51.C4.5算法概述算法概述C4.5C4.5算法是算法是ID3ID3算法的扩展,它的改进部分是:算法的扩展,它的改进部分是:q能能够够处处理理连连续续型型的的属属性性。首首先先将将连连续续型型属属性性离离散散化化,把把连连续续型型属属性性的的值值分分成成不不同同的的区区间间,依依据据是是比比较较各各个个属属性性GianGian值的大小。值的大小。q缺缺失失数数据据的的考考虑虑:在在构构建建决决策策树树时时,可可以以简简单单地地忽忽略略缺缺失数据,即在计算增益时,仅考虑具有属性值的记录。失数据,即在计算增益时,仅考虑具有属性值的记录。q提供两种基本的剪枝策略:提供两种基本的剪枝策略:子树替代法:用叶结点替代子树。子树替代法:用叶结点替代子树。子树上升法:用一棵子树中最常用的子树来代替这棵子树。子树上升法:用一棵子树中最常用的子树来代替这棵子树。5.5 5.5 分类规则挖掘的分类规则挖掘的C4.5 C4.5 算法算法剪枝目的是降低由于训练集存在噪声而产生的起伏。剪枝目的是降低由于训练集存在噪声而产生的起伏。2022/10/537第37页,此课件共65页哦2.2.离散化离散化 的方法的方法把连续型属性值把连续型属性值 离散化离散化 的具体方法是:的具体方法是:1 1)寻找该连续型属性的最小值,并把它赋值给寻找该连续型属性的最小值,并把它赋值给MINMIN,寻找该连续型属性的最大值,并把它赋值给寻找该连续型属性的最大值,并把它赋值给MAXMAX;2 2)设置区间设置区间 MINMIN,MAX MAX 中的中的N N个等分断点个等分断点AiAi,它们分别是,它们分别是 Ai=MIN+(MAXMIN)/N)*i其中,其中,i=1,2,.,N3)分别计算把分别计算把MIN,Ai和(和(Ai,MAX)()(i=1,2,.,N)作为)作为区间值时的区间值时的Gain值,并进行比较。值,并进行比较。4)选取)选取Gain值最大的值最大的Ak做为该连续型属性的断点,把属性值设做为该连续型属性的断点,把属性值设置为置为MIN,Ak和(和(Ak,MAX)两个区间值。)两个区间值。2022/10/538第38页,此课件共65页哦对于前面例子中的数据库对于前面例子中的数据库T T,分析属性,分析属性2 2分区的可能结果,分类分区的可能结果,分类后得出属性后得出属性2 2的值的集合是:的值的集合是:65,70,75,78,80,85,90,95,9665,70,75,78,80,85,90,95,96按照按照C4.5C4.5算法,选择每个区间的最小值作为阈值,即:算法,选择每个区间的最小值作为阈值,即:65,70,75,78,80,85,90,95共共8个值,从中选取最优的阈值。个值,从中选取最优的阈值。按照前述方法选取两区间,并分别计算其按照前述方法选取两区间,并分别计算其Gain值:值:6570757880859095如以第二种分段为例计算,计算其如以第二种分段为例计算,计算其Gain值:值:2022/10/539第39页,此课件共65页哦属性属性2化简后的平面数据库化简后的平面数据库数据库T:属性1属性2属性3属性4A1真类1A2真类2A2假类2A2假类2A1假类1B2真类1B2假类1B1真类1B2假类1C2真类2C1真类2C2假类1C2假类1C2假类12022/10/540第40页,此课件共65页哦Info x2(T)4/14(-3/4 log2(3/4)-1/4 log2(1/4))+10/14(-6/10 log2(6/10)-4/10 log2(4/10))=比特Gain(x2)=0.940Info x2(T)=比特比特2022/10/541第41页,此课件共65页哦找到最优的阈值(具有最高信息增益)找到最优的阈值(具有最高信息增益)Z=80Z=80相应的检验相应的检验3 3(属性(属性2=80280)280)的信息增益计算为:的信息增益计算为:Info x3(T)9/14(-7/9 log2(7/97/9)-2/9 log2(2/92/9))+5/14(-2/5 log2(2/52/5)-3/5 log2(3/5/5))=0.837比特通过检验通过检验x x3 3获得的增益是:获得的增益是:Gain(Gain(x x3 3)=0.940)=0.940 0.837=0.103 0.837=0.103比特比特比比较较本本例例中中3个个属属性性的的信信息息增增益益,可可以以看看出出属属性性1具具有有最最高高增益,选择该属性对决策树的结构进行首次分区。增益,选择该属性对决策树的结构进行首次分区。2022/10/542第42页,此课件共65页哦T1检验检验X1:属性属性1=?属性2属性3类70真类190真类285假类295假类270假类1属性2属性3类90真类178假类165真类175假类1属性2属性3类80真类270真类280假类180假类196假类1T2T3ABC叶结点叶结点2022/10/543第43页,此课件共65页哦对于剩下的子结点对于剩下的子结点T T1 1、T T3 3进行分析:进行分析:对对T T1 1的属性进行检验:最优检验(具有最高的信息增益)有两个的属性进行检验:最优检验(具有最高的信息增益)有两个选择:属性选择:属性2=70270270,定义为,定义为x x4 4。Info(T T1 1)-2/14 log2(2/52/5)-3/14 log2(3/53/5)=0.940比特用属性2把T T1 1分成两个子集(检验分成两个子集(检验x x4 4),结果信息是:),结果信息是:Info x4(T)2/5(-2/2 log2(2/22/2)-0/2 log2(0/20/2))+3/5(-0/3 log2(0/30/3)-3/3 log2(3/3/3))=0比特该检验的信息增益最大:该检验的信息增益最大:Gain(Gain(x x4 4)=0.940)=0.940 0=0.940 0=0.940比特比特这两个分枝将生成最终叶结点。这两个分枝将生成最终叶结点。2022/10/544第44页,此课件共65页哦对于剩下的子结点对于剩下的子结点T T3 3进行分析:进行分析:对对T T3 3的属性进行检验:选择的最优检验为的属性进行检验:选择的最优检验为x x5 5对属性对属性3 3的值进的值进行检验,树的分枝是属性行检验,树的分枝是属性3=3=真和属性真和属性3=3=假。假。最终决策树为:最终决策树为:X1:属性1X4:属性2X5:属性3类1类2类1类2类1检验结点ABC70真假叶结点叶结点2022/10/545第45页,此课件共65页哦决策树可以用伪代码的形式表示,这种伪代码用决策树可以用伪代码的形式表示,这种伪代码用IF-THENIF-THEN结构对结构对决策树进行分枝。决策树进行分枝。If属性属性1=Athenif属性属性2=70then类别类别=类类1;else类别类别=类类2;Elseif属性属性1=Bthen类别类别=类类1;elseif属性属性1=Cthenif属性属性3=真真then类别类别=类类2;else类别类别=类类1.结果结果结果结果2022/10/546第46页,此课件共65页哦增益标准对紧凑型决策树的构造有很好的效果,但也存在一增益标准对紧凑型决策树的构造有很好的效果,但也存在一个严重缺陷:个严重缺陷:q对具有多输出的检验有严重的偏差。对具有多输出的检验有严重的偏差。q解决方法:根据解决方法:根据info(S)info(S)的定义,指定一个附加的参数:的定义,指定一个附加的参数:n nSplit_Info(X)i=1 (|T|Ti i|/|T|).log2(|T|Ti i|/|T|)含义:含义:q通过把集通过把集T T分区成分区成n n个子集个子集T Ti i而生成的潜在信息。而生成的潜在信息。新的增益标准新的增益标准-增益率:增益率:Gain_ratio(X)=Gain(X)/Split_Info(X)Gain_ratio(X)=Gain(X)/Split_Info(X)新的增益标准表示分区所生成的有用信息的比例新的增益标准表示分区所生成的有用信息的比例2022/10/547第47页,此课件共65页哦根据前面实例,求检验根据前面实例,求检验X X1 1的增益比例。的增益比例。q计算计算Split_Info(XSplit_Info(X1 1)Split_Info(X X1 1)-5/14 log2(5/145/14)-4/14 log2(4/144/14)-5/14 log2(5/145/14)=1.577比特q计算计算Gain_ratio(XGain_ratio(X1 1)Gain_ratio(XGain_ratio(X1 1)=0.246/1.577=0.156)=0.246/1.577=0.156q检验过程,将采用最大增益率代替增益标准值检验过程,将采用最大增益率代替增益标准值2022/10/548第48页,此课件共65页哦在实际应用过程中,大量的现实世界中的数据都不是以人的在实际应用过程中,大量的现实世界中的数据都不是以人的意愿来定的,可能某些字段上缺值(意愿来定的,可能某些字段上缺值(missingvalues);可能数据);可能数据不准确含有噪声或者是错误的;可能是缺少必须的数据造成了不准确含有噪声或者是错误的;可能是缺少必须的数据造成了数据的不完整。数据的不完整。解决丢失值问题有两种选择:解决丢失值问题有两种选择:q抛弃数据库中有丢失数据的样本。抛弃数据库中有丢失数据的样本。q定义一个新的算法或改进现有的算法来处理。定义一个新的算法或改进现有的算法来处理。3.3.未知属性值问题未知属性值问题如存在大量丢失数据如存在大量丢失数据?2022/10/549第49页,此课件共65页哦按照第二种选择,必须回答几个问题:按照第二种选择,必须回答几个问题:q怎样比较具有不同数目未知值的两个样本?怎样比较具有不同数目未知值的两个样本?q具有未知值的训练样本和检验的具体值之间没有联系,具有未知值的训练样本和检验的具体值之间没有联系,它们不能被分配给任何子集,该如何处理这些样本?它们不能被分配给任何子集,该如何处理这些样本?q在分类的检验阶段,如果检验有丢失值的属性时,该怎样处在分类的检验阶段,如