版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
XX第6次课-决策树new2024/3/11XX第6次课决策树new主要内容决策树基本概念决策树算法决策树研究问题主要参考文献XX第6次课决策树new主要内容决策树基本概念决策树算法决策树研究问题主要参考文献XX第6次课决策树new第6章决策树决策树基本概念关于分类问题分类(Classification)任务就是通过学习获得一个目标函数(TargetFunction)f,将每个属性集x映射到一个预先定义好的类标号y。分类任务的输入数据是纪录的集合,每条记录也称为实例或者样例。用元组(X,y)表示,其中,X是属性集合,y是一个特殊的属性,指出样例的类标号(也称为分类属性或者目标属性)XX第6次课决策树new第6章决策树决策树基本概念关于分类问题名称体温表皮覆盖胎生水生动物飞行动物有腿冬眠类标号人类恒温毛发是否否是否哺乳动物海龟冷血鳞片否半否是否爬行类鸽子恒温羽毛否否是是否鸟类鲸恒温毛发是是否否否哺乳类Xy分类与回归分类目标属性y是离散的,回归目标属性y是连续的XX第6次课决策树new第6章决策树决策树基本概念解决分类问题的一般方法分类技术是一种根据输入数据集建立分类模型的系统方法。分类技术一般是用一种学习算法确定分类模型,该模型可以很好地拟合输入数据中类标号和属性集之间的联系。学习算法得到的模型不仅要很好拟合输入数据,还要能够正确地预测未知样本的类标号。因此,训练算法的主要目标就是要建立具有很好的泛化能力模型,即建立能够准确地预测未知样本类标号的模型。分类方法的实例包括:决策树分类法、基于规则的分类法、神经网络、支持向量级、朴素贝叶斯分类方法等。XX第6次课决策树new第6章决策树决策树基本概念解决分类问题的一般方法通过以上对分类问题一般方法的描述,可以看出分类问题一般包括两个步骤:1、模型构建(归纳)通过对训练集合的归纳,建立分类模型。2、预测应用(推论)根据建立的分类模型,对测试集合进行测试。XX第6次课决策树new第6章决策树决策树基本概念解决分类问题的一般方法TIDA1A2A3类1Y100LN2N125SN3Y400LY4N415MN学习算法学习模型模型应用模型TIDA1A2A3类1Y100L?2N125S?3Y400L?4N415M?训练集(类标号已知)检验集(类标号未知)归纳推论XX第6次课决策树new第6章决策树决策树基本概念有指导的学习与无指导的学习(有监督学习与无监督学习)有指导的学习(supervisedlearning一般用于分类)模型的学习在被告知每个训练样本属于“那个类”的指导下进行。新数据使用训练数据集中得到的规则进行分类。无指导的学习(unsupervisedlearning一般用于聚类)每个训练样本的类编号是未知的,要学习的类集合和数量也可能是事先未知的。通过一系列的度量、观察来建立数据中的类编号或进行聚类XX第6次课决策树new第6章决策树决策树基本概念半监督学习(semi-supervisedlearning)传统的机器学习技术需要使用大量有标记训练样本进行学习,但是在很多真实应用中,获取大量有标记训练样本相当困难,但是很容易获得大量未标记训练样本。半监督学习致力于利用未标记样本来提高学习性能。半监督学习主要有三种学习方法:自训练;协同训练;Co-EM算法XX第6次课决策树new第6章决策树决策树基本概念半监督学习(semi-supervisedlearning)自训练:先在较小的标识数据集上训练得到初始分类器,然后利用该分类器对未标识样本进行分类。将分类置信度较高的未标识数据作为新的训练样本,添加到原训练集中对模型进行更新。如此循环多次后,输出得到的分类器及其分类结果。特点:自训练的方法通过将训练得到的置信度高的未标识数据作为训练样本,添加到训练集重复训练的方法,增加了训练集的数量,对未标识数据的信息进行了很好的利用,提高了分类的性能。但要求分类器对未标识数据具有较高的分类精度。这点对于较为复杂的分类尤其重要。自训练方法及特点XX第6次课决策树new第6章决策树半监督学习(semi-supervisedlearning)协同训练方法及特点协同训练是一种利用互补的分类器对未标识样本特征空间进行探索的半监督学习方法。协同训练利用分类器之间的相互训练来提高分类性能。可以弥补因一个分类器不准而对最终结果造成的影响。最终结果综合了两个分类器的结果得到。协同训练结果一般要优于自训练。但也面临未知数据分类精度对最终结果的影响问题。XX第6次课决策树new第6章决策树半监督学习(semi-supervisedlearning)Co-EM算法及特点Co-EM算法是协同训练的改进形式,它不是直接利用当前分类器对未标识样本的分类,而利用分类后的后验概率进行分类。优点在于对数据前几轮中的预测标识可以通过后验概率来改变。这样在初始分类器准确率不高的情况下优于协同训练。但其合理性和收敛性没有理论的保证。XX第6次课决策树new第6章决策树半监督学习(semi-supervisedlearning)其它半监督学习方法还包括:生成式模型(generativemodels);
最大化分离(maximizingseparation);基于图的方法(graph-basedmethods).XX第6次课决策树new第6章决策树决策树基本概念决策树决策树是一种典型的分类方法,首先对数据进行处理,利用归纳算法生成可读的规则和决策树,然后使用决策对新数据进行分析。本质上决策树是通过一系列规则对数据进行分类的过程。XX第6次课决策树new第6章决策树决策树基本概念决策树的优点1、推理过程容易理解,决策推理过程可以表示成IfThen形式;2、推理过程完全依赖于属性变量的取值特点;3、可自动忽略目标变量没有贡献的属性变量,也为判断属性变量的重要性,减少变量的数目提供参考。XX第6次课决策树new第6章决策树决策树基本概念关于归纳学习(1)决策树技术发现数据模式和规则的核心是归纳算法。归纳是从特殊到一般的过程。归纳推理从若干个事实中表征出的特征、特性和属性中,通过比较、总结、概括而得出一个规律性的结论。归纳推理试图从对象的一部分或整体的特定的观察中获得一个完备且正确的描述。即从特殊事实到普遍性规律的结论。归纳对于认识的发展和完善具有重要的意义。人类知识的增长主要来源于归纳学习。XX第6次课决策树new第6章决策树决策树基本概念关于归纳学习(2)归纳学习的过程就是寻找一般化描述的过程。这种一般性描述能够解释给定的输入数据,并可以用来预测新的数据。
锐角三角形内角和等于180度;钝角三角形内角和等于180度;三角形内角和直角三角形内角和等于180度;等于180度
已知三角形ABC,A角等于76度,B角等于89度,则其C角等于15度XX第6次课决策树new归纳学习由于依赖于检验数据,因此又称为检验学习。归纳学习存在一个基本的假设:任一假设如果能够在足够大的训练样本集中很好的逼近目标函数,则它也能在未见样本中很好地逼近目标函数。该假定是归纳学习的有效性的前提条件。第6章决策树决策树基本概念关于归纳学习(3)XX第6次课决策树new第6章决策树决策树基本概念关于归纳学习(4)归纳过程就是在描述空间中进行搜索的过程。归纳可分为自顶向下,自底向上和双向搜索三种方式。自底向上法一次处理一个输入对象。将描述逐步一般化。直到最终的一般化描述。自顶向下法对可能的一般性描述集进行搜索,试图找到一些满足一定要求的最优的描述。XX第6次课决策树new第6章决策树决策树基本概念从机器学习看分类及归纳推理等问题(1)从特殊的训练样例中归纳出一般函数是机器学习的中心问题;从训练样例中进行学习通常被视为归纳推理。每个例子都是一个对偶(序偶)(x,f(x)),对每个输入的x,都有确定的输出f(x)。学习过程将产生对目标函数f的不同逼近。F的每一个逼近都叫做一个假设。假设需要以某种形式表示。例如,y=ax+b。通过调整假设的表示,学习过程将产生出假设的不同变形。在表示中通常需要修改参数(如a,b)。XX第6次课决策树new第6章决策树决策树基本概念从机器学习看分类及归纳推理等问题(2)从这些不同的变形中选择最佳的假设(或者说权值集合)。一般方法如定义为使训练值与假设值预测出的值之间的误差平方和E最小为最佳。学习是在假设空间上的一个搜索。概念学习也可以看作是一个搜索问题的过程。它在预定义的假设空间中搜索假设,使其与训练样例有最佳的拟合度。多数情况下,为了高效地搜索,可以利用假设空间中一种自然形成的结构,即一般到特殊的偏序关系。XX第6次课决策树new第6章决策树决策树基本概念从机器学习看分类及归纳推理等问题(3)分类模型的性能根据模型正确和错误预测也可以根据的检验记录计数进行评估。这些计数存储在混淆矩阵(ConfusionMatrix)的表格中,二元分类问题混淆矩阵如下:实际的类类1f11类0f01f10f00类1类0预测的类准确率=正确的预测数/预测总数=(f11+f00)/(f11+f01+f10+f00)差错率=错误的预测数/预测总数=(f10+f01)/(f11+f01+f10+f00)XX第6次课决策树new第6章决策树决策树基本概念从机器学习看分类及归纳推理等问题(4)混淆矩阵一般可以用于衡量分类器的精度。例如有150个数据,分3类,每类50个数据。分类结果的混淆矩阵如下类1类2类3类14352类22453类30149含义:第1行表示类1有43个分类是正确的,5个错分为类2,2个错分为类3。其分类精度为.43/50.其余类同上例的数据来自UCIMachineLearningRepository中的GermanCreditDataset可以免费获取。XX第6次课决策树new归纳学习假设机器学习的任务是在整个实例集合X上确定与目标概念c相同的假设。一般H表示所有可能假设。H中每个假设h表示X上定义的布尔函数。由于对c仅有的信息只是它在训练样例上的值,因此归纳学习最多只能保证输出的假设能与训练样例相拟合。若没有更多的信息,只能假定对于未见实例最好的假设就是训练数据最佳拟合的假设。定义归纳学习假设:任一假设如果在足够大的训练样例中很好地逼近目标函数,则它也能在未见实例中很好地逼近目标函数。(FunctionApproximation)。
第6章决策树决策树基本概念从机器学习看分类及归纳推理等问题(4)XX第6次课决策树new主要内容决策树基本概念决策树算法决策树研究问题主要参考文献XX第6次课决策树new第6章决策树决策树算法与决策树相关的重要算法1、Hunt,Marin和Stone于1966年研制的CLS学习系统,用于学习单个概念。2、1979年,J.R.Quinlan给出ID3算法,并在1983年和1986年对ID3进行了总结和简化,使其成为决策树学习算法的典型。3、Schlimmer和Fisher于1986年对ID3进行改造,在每个可能的决策树节点创建缓冲区,使决策树可以递增式生成,得到ID4算法。4、1988年,Utgoff在ID4基础上提出了ID5学习算法,进一步提高了效率。5、1993年,Quinlan进一步发展了ID3算法,改进成C4.5算法。6、另一类决策树算法为CART,与C4.5不同的是,CART的决策树由二元逻辑问题生成,每个树节点只有两个分枝,分别包括学习实例的正例与反例。CLS,ID3,C4.5,CARTXX第6次课决策树new第6章决策树决策树算法计数年龄收入学生信誉归类:买计算机?64青高否良不买64青高否优不买128中高否良买60老中否良买64老低是良买64老低是优不买64中低是优买128青中否良不买64青低是良买132老中是良买64青中是优买32中中否优买32中高是良买63老中否优不买1老中否优买假定公司收集了左表数据,那么对于任意给定的客人(测试样例),你能帮助公司将这位客人归类吗?即:你能预测这位客人是属于“买”计算机的那一类,还是属于“不买”计算机的那一类?又:你需要多少有关这位客人的信息才能回答这个问题?决策树的用途XX第6次课决策树new第6章决策树计数年龄收入学生信誉归类:买计算机?64青高否良不买64青高否优不买128中高否良买60老中否良买64老低是良买64老低是优不买64中低是优买128青中否良不买64青低是良买132老中是良买64青中是优买32中中否优买32中高是良买63老中否优不买1老中否优买谁在买计算机?年龄?学生?信誉?买青中老否是优良不买买买不买决策树的用途决策树算法XX第6次课决策树new第6章决策树计数年龄收入学生信誉归类:买计算机?64青高否良不买64青高否优不买128中高否良买60老中否良买64老低是良买64老低是优不买64中低是优买128青中否良不买64青低是良买132老中是良买64青中是优买32中中否优买32中高是良买63老中否优不买1老中否优买谁在买计算机?年龄?学生?信誉?买青中老否是优良不买买买不买决策树的用途决策树算法XX第6次课决策树new第6章决策树决策树算法决策树的表示决策树的基本组成部分:决策结点、分支和叶子。年龄?学生?信誉?买青中老否是优良不买买买不买决策树中最上面的结点称为根结点。是整个决策树的开始。每个分支是一个新的决策结点,或者是树的叶子。每个决策结点代表一个问题或者决策.通常对应待分类对象的属性。每个叶结点代表一种可能的分类结果在沿着决策树从上到下的遍历过程中,在每个结点都有一个测试。对每个结点上问题的不同测试输出导致不同的分枝,最后会达到一个叶子结点。这一过程就是利用决策树进行分类的过程,利用若干个变量来判断属性的类别XX第6次课决策树new第6章决策树决策树算法CLS(ConceptLearningSystem)算法
CLS算法是早期的决策树学习算法。它是许多决策树学习算法的基础。CLS基本思想
从一棵空决策树开始,选择某一属性(分类属性)作为测试属性。该测试属性对应决策树中的决策结点。根据该属性的值的不同,可将训练样本分成相应的子集,如果该子集为空,或该子集中的样本属于同一个类,则该子集为叶结点,否则该子集对应于决策树的内部结点,即测试结点,需要选择一个新的分类属性对该子集进行划分,直到所有的子集都为空或者属于同一类。XX第6次课决策树new第6章决策树人员眼睛颜色头发颜色所属人种1黑色黑色黄种人2蓝色金色白种人3灰色金色白种人4蓝色红色白种人5灰色红色白种人6黑色金色混血7灰色黑色混血8蓝色黑色混血决策树算法CLS算法XX第6次课决策树new第6章决策树人员眼睛颜色头发颜色所属人种1黑色黑色黄种人2蓝色金色白种人3灰色金色白种人4蓝色红色白种人5灰色红色白种人6黑色金色混血7灰色黑色混血8蓝色黑色混血决策树算法CLS算法-决策树的构建眼睛颜色[1,6][2,4,8][3,5,7]黑色兰色灰色不属于同一类,非叶结点XX第6次课决策树new第6章决策树眼睛颜色头发颜色头发颜色头发颜色黑色兰色灰色决策树算法CLS算法黄种人[1]混血[6]白种人[2]白种人[4]混血[8]白种人[3]白种人[5]混血[7]黑色金色金色红色黑色金色红色黑色XX第6次课决策树new第6章决策树决策树算法CLS算法1生成一颗空决策树和一张训练样本属性集;2若训练样本集T中所有的样本都属于同一类,则生成结点T,并终止学习算法;否则3根据某种策略从训练样本属性表中选择属性A作为测试属性,生成测试结点A4若A的取值为v1,v2,…,vm,则根据A的取值的不同,将T划分成m个子集T1,T2,…,Tm;5从训练样本属性表中删除属性A;6转步骤2,对每个子集递归调用CLS;XX第6次课决策树new第6章决策树CLS算法问题在步骤3中,根据某种策略从训练样本属性表中选择属性A作为测试属性。没有规定采用何种测试属性。实践表明,测试属性集的组成以及测试属性的先后对决策树的学习具有举足轻重的影响。举例加以说明,下表为调查学生膳食结构和缺钙情况的关系,其中1表示包含食物,0表示不包含决策树算法XX第6次课决策树new第6章决策树CLS算法问题决策树算法学生鸡肉猪肉牛肉羊肉鱼肉鸡蛋青菜番茄牛奶健康情况1011010101不缺钙2000011111不缺钙3111110100缺钙4110011001不缺钙5100111000缺钙6111001010缺钙7010001111不缺钙8010001111缺钙9010001111不缺钙10101111011不缺钙学生膳食结构和缺钙调查表XX第6次课决策树new第6章决策树CLS算法问题决策树算法采用不同的测试属性及其先后顺序将会生成不同的决策树鸡肉猪肉猪肉牛肉牛肉牛肉不缺钙(2)缺钙(3,6)不缺钙(4)不缺钙(10)缺钙(5)不缺钙(1)鱼肉缺钙(5)不缺钙(7,9)是否是否否否否否否是是是是是XX第6次课决策树new第6章决策树牛奶不缺钙(1,2,4,7,9,10)缺钙(3,5,6,8)CLS算法问题决策树算法在上例中,显然生成的两种决策树的复杂性和分类意义相差很大由此可见,选择测试属性是决策树学习算法中需要研究的重要课题。XX第6次课决策树new第6章决策树ID3决策树算法ID3算法主要针对属性选择问题。是决策树学习方法中最具影响和最为典型的算法。该方法使用信息增益度选择测试属性。
当获取信息时,将不确定的内容转为确定的内容,因此信息伴着不确定性。从直觉上讲,小概率事件比大概率事件包含的信息量大。如果某件事情是“百年一见”则肯定比“习以为常”的事件包含的信息量大。如何度量信息量的大小?XX第6次课决策树new第6章决策树决策树算法IDAgeHas-jobOwn_houseCredit_ratingClass1YoungFalseFalseFairNo2YoungFalseFalseGoodNo3YoungTrueFalseGoodYes4YoungTrueTrueFairYes5YoungFalseFalseFairNo6MiddleFalseFalseFairNo7MiddleFalseFalseGoodNo8MiddleTrueTrueGoodYes9MiddleFalseTrueExcellentYes10MiddleFalseTrueExcellentYes11OldFalseTrueExcellentYes12OldFalseTrueGoodYes13OldTrueFalseGoodYes14OldTrueFalseExcellentYes15OldFalseFalsefairno例申请贷款的数据集合XX第6次课决策树new第6章决策树决策树算法上例可能的两种根节点Age?youngmiddleoldNo:3Yes:2No:2Yes:3No:4Yes:1Own_house?truefalseNo:0Yes:6No:6Yes:3上例若采用Age或Own_house作为根节点。根节点可能值构成了根节点分支。对于每个分支,列出该分支上每个类(Yes或No)的训练数据的数目。(b)显然要比(a)好。因为从分类预测的观点来看,(b)比(a)犯错误的可能性要小。(a)(b)XX第6次课决策树new第6章决策树决策树算法Age?youngmiddleoldNo:3Yes:2No:2Yes:3No:1Yes:4Own_house?truefalseNo:0Yes:6No:6Yes:3(a)(b)选择(b)时,当Own_house=true时,每个样例都分配到yse类中。在Own_house=false时如果将它们都归类到No类中,则在整个分类中会有三个分类是错误的。选择(a)时,如果我们选择按照多数服从少数的方法,则会产生5个错误的分类。说明,节点的选择对结果是有影响的。XX第6次课决策树new第6章决策树ID3–信息量大小的度量决策树算法Shannon1948年提出的信息论理论。事件ai的信息量I(ai)可如下度量:其中p(ai)表示事件ai发生的概率。假设有n个互不相容的事件a1,a2,a3,….,an,它们中有且仅有一个发生,则其平均的信息量可如下度量:XX第6次课决策树new第6章决策树ID3–信息量大小的度量决策树算法上式,对数底数可以为任何数,不同的取值对应了熵的不同单位。通常取2,并规定当p(ai)=0时=0公式1XX第6次课决策树new第6章决策树决策树算法例:假设有一个数据集合D,其中只有两个类,一个是正例类,一个是负例类计算D中正例类和负例类在三种不同的组分下熵的变化情况。(1)D中包含有50%的正例和50%的负例。Entropy(D)=-0.5*log20.5-0.5*log20.5=1(2)D中包含有20%的正例和80%的负例。Entropy(D)=-0.2*log20.2-0.8*log20.8=0.722(3)D中包含有100%的正例和0%的负例。Entropy(D)=-1*log21-0*log20=0
从上述的结果可以看到一个趋势,当数据变得越来越纯净时,熵的值变得越来越小。事实上可以证明,当正例(0.5),反例(0.5)时,熵取最大值。当D中所有数据都只属于一个类时,熵得到最小值。
显然,上可以作为数据纯净度或混乱度的衡量指标。这正是决策树学习中需要的。XX第6次课决策树new在决策树分类中,假设S是训练样本集合,|S|是训练样本数,样本划分为n个不同的类C1,C2,….Cn,这些类的大小分别标记为|C1|,|C2|,…..,|Cn|。则任意样本S属于类Ci的概率为:第6章决策树ID3–信息量大小的度量决策树算法Entropy(S,A)=∑(|Sv|/|S|)*Entropy(Sv)公式2∑是属性A的所有可能的值v,Sv是属性A有v值的S子集|Sv|是Sv中元素的个数;|S|是S中元素的个数。XX第6次课决策树new第6章决策树ID3–信息量大小的度量决策树算法Gain(S,A)是属性A在集合S上的信息增益Gain(S,A)=Entropy(S)-Entropy(S,A)公式3Gain(S,A)越大,说明选择测试属性对分类提供的信息越多XX第6次课决策树new第6章决策树计数年龄收入学生信誉归类:买计算机?64青高否良不买64青高否优不买128中高否良买60老中否良买64老低是良买64老低是优不买64中低是优买128青中否良不买64青低是良买132老中是良买64青中是优买32中中否优买32中高是良买63老中否优不买1老中否优买决策树算法XX第6次课决策树new第6章决策树计数年龄收入学生信誉归类:买计算机?64青高否良不买64青高否优不买128中高否良买60老中否良买64老低是良买64老低是优不买64中低是优买128青中否良不买64青低是良买132老中是良买64青中是优买32中中否优买32中高是良买63老中否优不买1老中否优买第1步计算决策属性的熵决策属性“买计算机?”。该属性分两类:买/不买S1(买)=641S2(不买)=383S=S1+S2=1024P1=641/1024=0.6260P2=383/1024=0.3740I(S1,S2)=I(641,383)=-P1Log2P1-P2Log2P2=-(P1Log2P1+P2Log2P2)=0.9537决策树算法XX第6次课决策树new第6章决策树计数年龄收入学生信誉归类:买计算机?64青高否良不买64青高否优不买128中高否良买60老中否良买64老低是良买64老低是优不买64中低是优买128青中否良不买64青低是良买132老中是良买64青中是优买32中中否优买32中高是良买63老中否优不买1老中否优买第2步计算条件属性的熵条件属性共有4个。分别是年龄、收入、学生、信誉。分别计算不同属性的信息增益。决策树算法XX第6次课决策树new第6章决策树计数年龄收入学生信誉归类:买计算机?64青高否良不买64青高否优不买128中高否良买60老中否良买64老低是良买64老低是优不买64中低是优买128青中否良不买64青低是良买132老中是良买64青中是优买32中中否优买32中高是良买63老中否优不买1老中否优买第2-1步计算年龄的熵年龄共分三个组:青年、中年、老年青年买与不买比例为128/256S1(买)=128S2(不买)=256S=S1+S2=384P1=128/384P2=256/384I(S1,S2)=I(128,256)=-P1Log2P1-P2Log2P2=-(P1Log2P1+P2Log2P2)=0.9183决策树算法XX第6次课决策树new第6章决策树计数年龄收入学生信誉归类:买计算机?64青高否良不买64青高否优不买128中高否良买60老中否良买64老低是良买64老低是优不买64中低是优买128青中否良不买64青低是良买132老中是良买64青中是优买32中中否优买32中高是良买63老中否优不买1老中否优买第2-2步计算年龄的熵年龄共分三个组:青年、中年、老年中年买与不买比例为256/0S1(买)=256S2(不买)=0S=S1+S2=256P1=256/256P2=0/256I(S1,S2)=I(256,0)=-P1Log2P1-P2Log2P2=-(P1Log2P1+P2Log2P2)=0决策树算法XX第6次课决策树new第6章决策树计数年龄收入学生信誉归类:买计算机?64青高否良不买64青高否优不买128中高否良买60老中否良买64老低是良买64老低是优不买64中低是优买128青中否良不买64青低是良买132老中是良买64青中是优买32中中否优买32中高是良买63老中否优不买1老中否优买第2-3步计算年龄的熵年龄共分三个组:青年、中年、老年老年买与不买比例为125/127S1(买)=125S2(不买)=127S=S1+S2=252P1=125/252P2=127/252I(S1,S2)=I(125,127)=-P1Log2P1-P2Log2P2=-(P1Log2P1+P2Log2P2)=0.9157决策树算法XX第6次课决策树new第6章决策树计数年龄收入学生信誉归类:买计算机?64青高否良不买64青高否优不买128中高否良买60老中否良买64老低是良买64老低是优不买64中低是优买128青中否良不买64青低是良买132老中是良买64青中是优买32中中否优买32中高是良买63老中否优不买1老中否优买第2-4步计算年龄的熵年龄共分三个组:青年、中年、老年所占比例青年组384/1024=0.375中年组256/1024=0.25老年组384/1024=0.375计算年龄的平均信息期望E(年龄)=0.375*0.9183+0.25*0+0.375*0.9157=0.6877G(年龄信息增益)=0.9537-0.6877=0.2660(1)决策树算法XX第6次课决策树new第6章决策树计数年龄收入学生信誉归类:买计算机?64青高否良不买64青高否优不买128中高否良买60老中否良买64老低是良买64老低是优不买64中低是优买128青中否良不买64青低是良买132老中是良买64青中是优买32中中否优买32中高是良买63老中否优不买1老中否优买第3步计算收入的熵收入共分三个组:高、中、低E(收入)=0.9361收入信息增益=0.9537-0.9361=0.0176(2)决策树算法XX第6次课决策树new第6章决策树计数年龄收入学生信誉归类:买计算机?64青高否良不买64青高否优不买128中高否良买60老中否良买64老低是良买64老低是优不买64中低是优买128青中否良不买64青低是良买132老中是良买64青中是优买32中中否优买32中高是良买63老中否优不买1老中否优买第4步计算学生的熵学生共分二个组:学生、非学生E(学生)=0.7811年龄信息增益=0.9537-0.7811=0.1726(3)决策树算法XX第6次课决策树new第6章决策树计数年龄收入学生信誉归类:买计算机?64青高否良不买64青高否优不买128中高否良买60老中否良买64老低是良买64老低是优不买64中低是优买128青中否良不买64青低是良买132老中是良买64青中是优买32中中否优买32中高是良买63老中否优不买1老中否优买第5步计算信誉的熵信誉分二个组:良好,优秀E(信誉)=0.9048信誉信息增益=0.9537-0.9048=0.0453(4)决策树算法XX第6次课决策树new第6章决策树计数年龄收入学生信誉归类:买计算机?64青高否良不买64青高否优不买128中高否良买60老中否良买64老低是良买64老低是优不买64中低是优买128青中否良不买64青低是良买132老中是良买64青中是优买32中中否优买32中高是良买63老中否优不买1老中否优买第6步计算选择节点年龄信息增益=0.9537-0.6877=0.2660(1)收入信息增益=0.9537-0.9361=0.0176(2)学生信息增益=0.9537-0.7811=0.1726(3)信誉信息增益=0.9537-0.9048=0.0453(4)决策树算法XX第6次课决策树new第6章决策树计数年龄收入学生信誉归类:买计算机?64青高否良不买64青高否优不买128青中否良不买64青低是良买64青中是优买年龄青年中年老年买/不买买买/不买叶子决策树算法XX第6次课决策树new第6章决策树计数年龄收入学生信誉归类:买计算机?64青高否良不买64青高否优不买128青中否良不买64青低是良买64青中是优买青年买与不买比例为128/256S1(买)=128S2(不买)=256S=S1+S2=384P1=128/384P2=256/384I(S1,S2)=I(128,256)=-P1Log2P1-P2Log2P2=-(P1Log2P1+P2Log2P2)=0.9183决策树算法XX第6次课决策树new第6章决策树计数年龄收入学生信誉归类:买计算机?64青高否良不买64青高否优不买128青中否良不买64青低是良买64青中是优买如果选择收入作为节点分高、中、低平均信息期望(加权总和): E(收入)=0.3333*0+0.5*0.9183+0.1667*0=0.4592Gain(收入)=I(128,256)-E(收入)=0.9183
–0.4592=0.4591I(0,128)=0比例:128/384=0.3333I(64,128)=0.9183比例:192/384=0.5I(64,0)=0比例:64/384=0.1667注意决策树算法XX第6次课决策树new第6章决策树计数年龄收入学生信誉归类:买计算机?64青高否良不买64青高否优不买128中高否良买60老中否良买64老低是良买64老低是优不买64中低是优买128青中否良不买64青低是良买132老中是良买64青中是优买32中中否优买32中高是良买63老中否优不买1老中否优买年龄青年中年老年学生买信誉叶子否是优良买不买买/不买买叶子叶子叶子决策树算法XX第6次课决策树new第6章决策树ID3决策树建立算法1决定分类属性;2对目前的数据表,建立一个节点N3如果数据库中的数据都属于同一个类,N就是树叶,在树叶上标出所属的类4如果数据表中没有其他属性可以考虑,则N也是树叶,按照少数服从多数的原则在树叶上标出所属类别5否则,根据平均信息期望值E或GAIN值选出一个最佳属性作为节点N的测试属性6节点属性选定后,对于该属性中的每个值:从N生成一个分支,并将数据表中与该分支有关的数据收集形成分支节点的数据表,在表中删除节点属性那一栏如果分支数据表非空,则运用以上算法从该节点建立子树。决策树算法XX第6次课决策树new第6章决策树决策树算法IDAgeHas-jobOwn_houseCredit_ratingClass1YoungFalseFalseFairNo2YoungFalseFalseGoodNo3YoungTrueFalseGoodYes4YoungTrueTrueFairYes5YoungFalseFalseFairNo6MiddleFalseFalseFairNo7MiddleFalseFalseGoodNo8MiddleTrueTrueGoodYes9MiddleFalseTrueExcellentYes10MiddleFalseTrueExcellentYes11OldFalseTrueExcellentYes12OldFalseTrueGoodYes13OldTrueFalseGoodYes14OldTrueFalseExcellentYes15OldFalseFalsefairno例申请贷款的数据集合XX第6次课决策树newAge?youngmiddleoldNo:3Yes:2No:2Yes:3No:4Yes:1Own_house?truefalseNo:0Yes:6No:6Yes:3(a)(b)第6章决策树决策树算法XX第6次课决策树new第6章决策树决策树算法(1)首先计算D的熵D有6个否类训练样例和9个是类训练样例,可计算如下:entropy(D)=-6/15*log26/15-9/15*log29/15=0.971(2)尝试采用age属性划分数据,可以划分为三类,D1(age=young),D2(age=midde),D3(age=old)entropyage(D)=-5/15*entropy(D1)-5/15*entropy(D2)-5/15*entropy(D3)=5/15*0.971+5/15*0.971+5/15*0.722=0.888
-3/5*log23/5-2/5*log22/5=0.971-1/5*log21/5-4/5*log24/5=0.722(3)尝试采用own_house属性将数据划分为两个子集entropyown_house(D)=-6/15*entropy(D1)-9/15*entropy(D2)=6/15*0+9/15*0.918=0.551entropy(D1)=-0/6*log20/6-6/6*log26/6=0entropy(D2)=-6/9*log26/9-3/9*log23/9=0.918XX第6次课决策树new第6章决策树决策树算法(4)分别计算采用has_job,Credit_rating属性的熵值entropyhas_job(D)=0.647entropyCredit_rating(D)=0.608(5)各个属性的信息增益gain(D,Age)=0.971-0.888=0.083
gain(D,Own_house)=0.971-0.551=0.420gain(D,Has_job)=0.971-0.647=0.324gain(D,Credit_rating)=0.971-0.608=0.363(6)………….XX第6次课决策树new第6章决策树决策树的数据准备姓名年龄收入学生信誉电话地址邮编买计算机张三234000是良281-322-03282714Ave.M77388买李四342800否优713-239-78305606HollyCr78766买王二701900否优281-242-32222000BellBlvd.70244不买赵五18900是良281-550-0544100MainStreet70244买刘兰342500否优713-239-7430606HollyCt78566买杨俊278900否优281-355-7990233RiceBlvd.70388不买张毅389500否优281-556-0544399SugarRd.78244买。。。。。。。。原始表决策树算法XX第6次课决策树new第6章决策树计数年龄收入学生信誉归类:买计算机?64青高否良不买64青高否优不买128中高否良买60老中否良买64老低是良买64老低是优不买64中低是优买128青中否良不买64青低是良买。。。整理后的数据表决策树的数据准备Datacleaning 删除/减少noise,补填missingvaluesDatatransformation 数据标准化(datanormalization) 数据归纳(generalizedatatohigher-levelconceptsusingconcepthierarchies) 例如:年龄归纳为老、中、青三类 控制每个属性的可能值不超过七种(最好不超过五种)Relevanceanalysis 对于与问题无关的属性:删 对于属性的可能值大于七种又不能归纳的属性:删决策树算法XX第6次课决策树new第6章决策树决策树的数据准备决策树算法处理连续属性值决策树算法比较适合处理离散数值的属性。实际应用中属性是连续的或者离散的情况都比较常见。在应用连续属性值时,在一个树结点可以将属性Ai的值划分为几个区间。然后信息增益的计算就可以采用和离散值处理一样的方法。原则上可以将Ai的属性划分为任意数目的空间。C4.5中采用的是二元分割(BinarySplit)。需要找出一个合适的分割阈值。参考C4.5算法Top10algorithmsindataminingKnowledgeInformationSystem200814:1–37XX第6次课决策树new第6章决策树决策树算法ID3算法小结ID3算法是一种经典的决策树学习算法,由Quinlan于1979年提出。ID3算法的基本思想是,以信息熵为度量,用于决策树节点的属性选择,每次优先选取信息量最多的属性,亦即能使熵值变为最小的属性,以构造一颗熵值下降最快的决策树,到叶子节点处的熵值为0。此时,每个叶子节点对应的实例集中的实例属于同一类。XX第6次课决策树new第6章决策树决策树算法ID3算法实际应用-在电信行业应用实例(1)通过ID3算法来实现客户流失的预警分析,找出客户流失的特征,以帮助电信公司有针对性地改善客户关系,避免客户流失利用决策树方法进行数据挖掘,一般有如下步骤:数据预处理、决策树挖掘操作,模式评估和应用。电信运营商的客户流失有三方面的含义:一是指客户从一个电信运营商转网到其他电信运营商,这是流失分析的重点。二是指客户月平均消费量降低,从高价值客户成为低价值客户。三、指客户自然流失和被动流失。在客户流失分析中有两个核心变量:财务原因/非财务原因、主动流失/被动流失。客户流失可以相应分为四种类型:其中非财务原因主动流失的客户往往是高价值的客户。他们会正常支付服务费用,并容易对市场活动有所响应。这种客户是电信企业真正需要保住的客户。XX第6次课决策树new第6章决策树决策树算法ID3算法实际应用-在电信行业应用实例(2)数据预处理数据挖掘的处理对象是大量的数据,这些数据一般存储在数据库系统中(该用户相关数据存储在其CRM中),是长期积累的结果。但往往不适合直接挖掘,需要做数据的预处理工作,一般包括数据的选择(选择相关的数据)、净化(消除冗余数据)、转换、归约等。数据预处理工作准备是否充分,对于挖掘算法的效率乃至正确性都有关键性的影响。该公司经过多年的电脑化管理,已有大量的客户个人基本信息(文中简称为客户信息表)。在客户信息表中,有很多属性,如姓名用户号码、用户标识、用户身份证号码(转化为年龄)、在网时间(竣工时间)、地址、职业、用户类别、客户流失(用户状态)等等,数据准备时必须除掉表中一些不必要的属性,一般可采用面向属性的归纳等方法去掉不相关或弱相关属性。XX第6次课决策树new第6章决策树决策树算法ID3算法实际应用-在电信行业应用实例(3)属性删除:将有大量不同取值且无概化操作符的属性或者可用其它属性来代替它的较高层概念的那些属性删除。比如客户信息表中的用户标识、身份证号码等,它们的取值太多应将其删除,得到表1。
表1客户信息表年龄学历职业缴费方式在网时长费用变化率客户流失58大学公务员托收1310%NO47高中工人营业厅缴费942%NO26研究生公务员充值卡263%YES28大学公务员营业厅缴费52.91%NO32初中工人营业厅缴费32.3%NO42高中无业人员充值卡2100%YES68初中无业人员营业厅缴费92.3%NOXX第6次课决策树new第6章决策树决策树算法ID3算法实际应用-在电信行业应用实例(4)属性概化:用属性概化阈值控制技术沿属性概念分层上卷或下钻进行概化。文化程度分为3类:W1初中以下(含初中),W2高中(含中专),W3大学(专科、本科及以上);职业类别:按工作性质来分共分3类:Z1一Z3;缴费方式:托收:T1,营业厅缴费:T2,充值卡:T3。连续型属性概化为区间值:表中年龄、费用变化率和在网时间为连续型数据,由于建立决策树时,用离散型数据进行处理速度最快,因此对连续型数据进行离散化处理,根据专家经验和实际计算信息增益,在“在网时长”属性中,通过检测每个划分,得到在阈值为5年时信息增益最大,从而确定最好的划分是在5年处,则这个属性的范围就变为{<=5,>5:H1,H2}。而在“年龄”属性中,信息增益有两个锋值,分别在40和50处,因而该属性的范围变为{<=40,>40-<=50,>50}即变为{青年,中年,老年:N1,N2,N3};费用变化率:指((当月话费-近3个月的平均话费)/近3个月的平均话费)×%>0,F1:<=30%,F2:30%-99%,F3:=100%变为{F1,F2,F3}。
XX第6次课决策树new表2转化后的客户信息表年龄学历职业缴费方式开户时间费用变化率客户流失N3W3Z1T1H2F1NON2W2Z2T2H2F2NON1W3Z1T3H1F2YESN1W3Z1T2H1F1NON1W1Z2T2H1F1NON2W2Z3T3H1F3YESN3W1Z3T1H2F1NO第6章决策树决策树算法ID3算法实际应用-在电信行业应用实例(5)XX第6次课决策树newYESNO年龄职业YES缴费方式YESYESNOYSESNONO在网时长NOF1F2F3N1N2N3T1T2T3Z1Z2Z3H1H2费用变化率第6章决策树决策树算法ID3算法实际应用-在电信行业应用实例(6)在图中,NO表示客户不流失,YES表示客户流失。从图可以看出,客户费用变化率为100%的客户肯定已经流失;而费用变化率低于30%的客户;即每月资费相对稳定的客户一般不会流失,费用变化率在30%~99%的客户有可能流失,其中年龄在40~50岁之间的客户流失的可能性非常大,而年龄低于40岁的客户,用充值卡缴费的客户和在网时间较短的客户容易流失;年龄较大的客户,则工人容易流失。XX第6次课决策树new主要内容决策树基本概念决策树算法决策树研究问题主要参考文献XX第6次课决策树new第6章决策树决策树研究问题理想的决策树有三种:(1)叶子结点数最少;(2)叶子结点深度最小;(3)叶子结点数最少且叶子结点深度最小。
然而,洪家荣等人已经证明了要找到这种最优的决策树是NP难题。因此,决策树优化的目的就是要找到尽可能趋向于最优的决策树。XX第6次课决策树new第6章决策树关于过渡拟合上述的决策树算法增长树的每一个分支的深度,直到恰好能对训练样例比较完美地分类。实际应用中,当数据中有噪声或训练样例的数量太少以至于不能产生目标函数的有代表性的采样时,该策略可能会遇到困难。在以上情况发生时,这个简单的算法产生的树会过渡拟合训练样例(过渡拟合:OverFitting).决策树研究问题XX第6次课决策树new关于过渡拟合第6章决策树对于一个假设,当存在其它的假设对训练样例的拟合比它差,但事实上在实例的整个分布上(包含训练集合以外的实例)表现得却更好时,则称该假设过度拟合训练样例。过度拟合:给定一个假设空间H,一个假设h∈H,如果存在其它的假设h1∈H,使得在训练样例上h的错误率比h1小,但在整个实例发布上h1的错误率比h小,则称假设h过度拟合训练数据过度拟合产生的原因:噪声,训练样例太小等决策树研究问题XX第6次课决策树new关于过渡拟合第6章决策树对学习算法是否成功的真正测试是看它对于训练中未见到的数据的执行性能。训练过程应该包含训练样本和验证样本。验证样本用于测试训练后的性能。如果验证结果差,则需要考虑采用不同的结构重新进行训练,例如使用更大的样本集,或者改变从连续值到离散值得数据转换等。通常应该建立一个验证过程,在训练最终完成后用来检测训练结果的泛化能力。决策树研究问题XX第6次课决策树new关于过渡拟合第6章决策树分类模型的误差一般可以将分类模型的误差分为:
1、训练误差(TrainingError);2、泛化误差(GeneralizationError)决策树研究问题XX第6次课决策树new关于过渡拟合第6章决策树分类模型的误差训练误差是在训练记录上误分类样本比例;泛化误差是模型在未知记录上的期望误差;一个好的模型不仅要能够很好地拟合训练数据,而且对未知样本也要能够准确地分类。一个好的分类模型必须具有低的训练误差和泛化误差。因为一个具有低训练误差的模型,其泛化误差可能比具有较高训练误差的模型高。(训练误差低,泛化误差高,称为过渡拟合)决策树研究问题XX第6次课决策树new关于过渡拟合第6章决策树模型过渡拟合的潜在因素(1)噪声导致的过渡拟合;
错误的类别值/类标签,属性值等(2)缺乏代表性样本所导致的过渡拟合
根据少量训练记录作出的分类决策模型容易受过渡拟合的影响。由于训练样本缺乏代表性的样本,在没有多少训练记录的情况下,学习算法仍然继续细化模型就会导致过渡拟合。决策树研究问题XX第6次课决策树new关于过渡拟合第6章决策树模型过渡拟合的潜在因素名称体温胎生4条腿冬眠哺乳动物蝾螈冷血NYYN虹鳉冷血YNNN鹰恒温NNNN弱夜鹰恒温NNYN鸭嘴兽恒温YYYY哺乳动物分类的训练样例体温恒温冷血冬眠NYNN4条腿YNNY名称体温胎生4条腿冬眠哺乳动物人恒温YNNY大象恒温YYNY鸽子恒温NNNN哺乳动物分类的训练样例按照训练模型。人和大象都不是哺乳动物。决策树作出这样的判断是因为只有一个训练样例具有这些特点(鹰,恒温,不冬眠)被划分为非哺乳动物。该例清楚表明,当决策树的叶节点没有足够的代表性时,可能会预测错误。决策树研究问题XX第6次课决策树new关于过渡拟合第6章决策树解决过度拟合的手段:1及早停止树增长;2后修剪法。决策树研究问题XX第6次课决策树new关于过渡拟合第6章决策树1及早停止树增长
由于决策树学习要从候选集合众选择满足给定标准的最大化属性,并且不回溯,也就是我们常说的爬山策略,其选择往往会是局部最优而不是全局最优。树结构越复杂,则过渡拟合发生的可能性越大。因此,要选择简单的模型。Occan法则(又称Occan剃刀OccanRazor):具有相同泛化误差的两个模型,较简单的模型比复杂的模型更可取。决策树研究问题XX第6次课决策
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校抽烟检讨书500字(6篇)
- 邮票的教学反思5篇
- 离职申请报告书怎么写范文(稿件8篇)
- 关于小区养狗问卷调查
- 清退侨房协议书
- 山东省土地承包经营权流转合同示范文本
- 班组长岗位职责
- 读爱的教育的读书心得8篇
- 绿色能源产业园区管理策略
- 装饰装修室外施工合同
- 《水土保持技术》课件-项目八 拦渣措施
- 机动车检测站违规检验整改报告
- 2024年建筑电工复审考试题库附答案
- 2024年4月自考04737C++程序设计试题及答案含评分参考
- 睡眠医学智慧树知到期末考试答案章节答案2024年广州医科大学
- GB/T 17259-2024机动车用液化石油气钢瓶
- 国开(河北)2024年《中外政治思想史》形成性考核1-4答案
- 床边护理带教体会
- 2024年社区工作者考试必背1000题题库及必背答案
- MOOC 微型计算机原理与接口技术-南京邮电大学 中国大学慕课答案
- 1kw太阳能独立供电系统解决方案
评论
0/150
提交评论