- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第七章决策树决策树(DecisionTree)是一种基本的分类与回归方法,是最早的机器学习算法之一。1979年,J.RossQuinlan提出了ID3算法原型,并于1983年和1986年对ID3算法进行了总结和简化,正式确立了决策树理论。此间的1984年,LeoBreiman,JeromeFriedman,RichardOlshen与CharlesStone共同提出了分类与回归树(ClassificationandRegressionTrees),即CART算法。1993年,Quinlan在ID3算法的基础上又提出了著名的C4.5算法。相对于其他算法,决策树算法的基本原理更加符合人的思维方式,可以产生可视化的分类或回归规则,生成的模型也具有可解释性,因此其应用十分广泛。本章主要介绍上述3种决策树算法的原理、流程及实现。1
7.1决策树概述决策树是一种呈树形结构的层次模型,可以是二又树也可以是多叉树。在分类问题中,树的每个非叶节点表示对一个特征的判断,每个分支代表该特征在某个值域上的输出,而每个叶节点存放一个类别。使用决策树进行决策的过程就是从根节点开始,逐个判断待分类项中相应的特征,并按照其值选择输出分支,直到到达叶节点,将叶节点存放的类别作为决策的结果。每一个样本只会被一条路径覆盖(样本的特征与路径上的特征一致或样本满足规则的条件)。2
7.1决策树概述如果想知道在不同天气情况下人们是否会去室外打球,就可以建立图7-1中的决策树。图中的菱形框表示对一个特征的判断,菱形框下方线段上的文字表示每个判断的所有可能的取值。图中最上方的矩形框为“根节点”,中间矩形框为“中间节点”,最下方矩形框为“叶节点”。图7-1决策树算法原理举例3称箭头的起点是终点的“父节点”,终点是起点的“子节点”。当子节点只有两个时,通常把他们称为“左子节点”和“右子节点”。
7.1决策树概述决策树构造过程:1)从根节点开始,将数据集依照某个特征的取值划分为互不相交的几个子集;2)如果某个子集中的样本都属于同一个类别或某一个类别所占的百分比大于设定的阈值,则将其设置为叶节点,并将多数样本的类别作为该叶节点的类别。否则将该子集设置为中间节点,并依照某个特征的取值继续划分;3)重复步骤2)直至所有分支的末尾一行均为叶节点。4
7.1决策树概述构造决策树的关键是如何进行最优特征划分,即确定非叶节点对应的特征及其判断阈值。最优特征划分的方法有很多,每种决策树之所以不同,一般都是因为最优特征选择的标准上有所差异,不同的标准导致生成不同类型的决策树。本章介绍其中三个相对而言比较基本且使用广泛的算法:ID3、C4.5和CART。三种算法是以递进的关系产生的。1)ID3算法是最基础的决策树算法,可以解决离散型数据的分类问题。2)C4.5算法在ID3算法的基础上进一步发展,可以解决混合型数据的分类问题。3)CART算法则更进一步,在分类问题的基础上,还可以解决回归问题。虽说上述算法的功能越来越强大,但其核心思想都是一致的,即算法通过不断划分数据集来生成决策树,其中每一步都选择最优的划分特征。5
一般而言,随着划分过程不断进行,希望决策树的每个分枝中所包含的样本尽可能属于同一类别,即节点的“纯度”越来越高。因此,对于一个包含多个特征的数据集,应尽量选择对划分后子集的纯度提升最多的特征。信息熵可以用来度量一个系统的有(无)序程度。如果将其应用在数据集上,那么一个集合中包含样本的类别越多,则说明数据越“混乱”,信息墒越大;否则说明数据越“纯净”,信息墒越小。而我们要做的就是保证每一次划分都让划分后的信息墒降低的最多,也就是信息墒的增益最大。ID3决策树算法就是以信息增益作为决策树分支的划分依据,每次选择信息增益最大的特征进行划分。ID3算法只能处理离散数据,即可以处理像性别特征、布尔值特征等离散型特征,但没法处理特征值在某个区间内可以任意取值的特征,如身高特征、年龄特征等。7.2ID3算法6
?7.2.1信息熵和信息增益7
?7.2.1信息熵和信息增益8
?7.2.1信息熵和信息增益9
?7.2.2ID3算法流程10
(8)对每个子集从步骤(1)开始继续执行。其中步骤(6)的“停止条件”(也可称为“预剪枝”)有多种定义方法,较为常用的是如下两种:1)若选择作为划分特征时的信息增益小于某个阈值,则停止;2)事先把数据集分为训练集与测试集,若由训练集得到的节点并不能降低测试集上的错误率,则停止。这两种停止条件通用于C4.5算法和CART算法。同时,决策树会在许多地方应用到递归的思想,上述算法中的步骤(7)正是经典的递归。7.2.2ID3算法流程11
例7-1:表7-1给出了一个哺乳动物数据集包含14个样本,样本有“饮食习性”、“
文档评论(0)