第3章-分类与决策树分析课件

上传人:文**** 文档编号:241599819 上传时间:2024-07-08 格式:PPT 页数:94 大小:1.54MB
返回 下载 相关 举报
第3章-分类与决策树分析课件_第1页
第1页 / 共94页
第3章-分类与决策树分析课件_第2页
第2页 / 共94页
第3章-分类与决策树分析课件_第3页
第3页 / 共94页
点击查看更多>>
资源描述
第第3章章分类与预测分类与预测第3章分类与预测主要内容v分类与决策树概述分类与决策树概述vID3、C4.5与与C5.0vCART主要内容分类与决策树概述分类 VS.预测v分类和预测是两种数据分析形式,用于提取描述重要数据类或预测未来分类和预测是两种数据分析形式,用于提取描述重要数据类或预测未来的数据趋势的数据趋势 的模型的模型分类:分类:v预测类对象的分类标号(或离散值)预测类对象的分类标号(或离散值)v根据训练数据集和类标号属性,构建模型来分类现有数据,并用根据训练数据集和类标号属性,构建模型来分类现有数据,并用来分类新数据来分类新数据预测:预测:v建立连续函数值模型建立连续函数值模型v比如预测空缺值,或者预测顾客在计算机设备上的花费比如预测空缺值,或者预测顾客在计算机设备上的花费v典型应用典型应用欺诈检测、市场定位、性能预测、医疗诊断欺诈检测、市场定位、性能预测、医疗诊断v分类是一种应用非常广泛的数据挖掘技术分类是一种应用非常广泛的数据挖掘技术 v分类与预测的区别:分类与预测的区别:当估计的属性值是离散值时,这就是当估计的属性值是离散值时,这就是分类分类;当估计的属性值是连续值时,这就是当估计的属性值是连续值时,这就是预测预测。分类 VS.预测分类和预测是两种数据分析形式,用于提取描述分类和预测分类和预测-示例示例v分类分类银行贷款员需要分析数据,来弄清哪些贷款申请银行贷款员需要分析数据,来弄清哪些贷款申请者是安全的,哪些是有风险的(将贷款申请者分者是安全的,哪些是有风险的(将贷款申请者分为为“安全安全”和和“有风险有风险”两类)两类)v我们需要构造一个分类器来预测类属编号,比如预测我们需要构造一个分类器来预测类属编号,比如预测顾客属类顾客属类v预测预测银行贷款员需要预测贷给某个顾客多少钱是安全银行贷款员需要预测贷给某个顾客多少钱是安全的的v构造一个预测器,预测一个连续值函数或有序值,常构造一个预测器,预测一个连续值函数或有序值,常用方法是回归分析用方法是回归分析分类和预测-示例分类数据分类数据分类一个两步过程一个两步过程(1)v第一步,也成为学习步,目标是建立描述预先定义的数第一步,也成为学习步,目标是建立描述预先定义的数据类或概念集的分类器据类或概念集的分类器分类算法通过分析或从训练集分类算法通过分析或从训练集“学习学习”来构造分类器。来构造分类器。训练集由数据库元组(用训练集由数据库元组(用n维属性向量表示)和他们相对维属性向量表示)和他们相对应的类编号组成;假定每个元组属于一个预定义的类应的类编号组成;假定每个元组属于一个预定义的类v训练元组:训练数据集中的单个元组训练元组:训练数据集中的单个元组学习模型可以用分类规则、决策树或数学公式的形式提学习模型可以用分类规则、决策树或数学公式的形式提供供数据分类一个两步过程(1)第一步,也成为学习步,目标是数据分类数据分类一个两步过程一个两步过程(2)v第二步,使用模型,对将来的或未知的对象进行分类第二步,使用模型,对将来的或未知的对象进行分类首先评估模型的预测准确率首先评估模型的预测准确率v对每个测试样本,将已知的类标号和该样本的学习模型类预测比对每个测试样本,将已知的类标号和该样本的学习模型类预测比较较v模型在给定测试集上的准确率是正确被模型分类的测试样本的百模型在给定测试集上的准确率是正确被模型分类的测试样本的百分比分比v测试集要独立于训练样本集,否则会出现测试集要独立于训练样本集,否则会出现“过分拟合过分拟合”的情况的情况数据分类一个两步过程(2)第二步,使用模型,对将来的或第一步建立模型训练数据集分类算法IF rank=professorOR years 6THEN tenured=yes 分类规则第一步建立模型训练数分类算法IF rank=pro第二步用模型进行分类分类规则测试集未知数据(Jeff,Professor,4)Tenured?第二步用模型进行分类分类规则测试集未知数据(Jeff,监督学习监督学习 VS.无监督学习无监督学习v监督学习(用于分类)监督学习(用于分类)模型的学习在被告知每个训练样本属于哪个类的模型的学习在被告知每个训练样本属于哪个类的“指导指导”下进行下进行新数据使用训练数据集中得到的规则进行分类新数据使用训练数据集中得到的规则进行分类v无监督学习(用于聚类)无监督学习(用于聚类)每个训练样本的类编号是未知的,要学习的类集每个训练样本的类编号是未知的,要学习的类集合或数量也可能是事先未知的合或数量也可能是事先未知的通过一系列的度量、观察来建立数据中的类编号通过一系列的度量、观察来建立数据中的类编号或进行聚类或进行聚类监督学习 VS.无监督学习监督学习(用于分类)数据预测的两步过程数据预测的两步过程v数据预测也是一个两步的过程,类似于前面描述的数据分类数据预测也是一个两步的过程,类似于前面描述的数据分类对于预测,没有对于预测,没有“类标号属性类标号属性”要预测的属性是连续值,而不是离散值,该属性可简称要预测的属性是连续值,而不是离散值,该属性可简称“预测属性预测属性”vE.g.银行贷款员需要预测贷给某个顾客多少钱是安全银行贷款员需要预测贷给某个顾客多少钱是安全的的v预测器可以看作一个映射或函数预测器可以看作一个映射或函数y=f(X)其中其中X是输入;是输入;y是输出,是一个连续或有序的值是输出,是一个连续或有序的值与分类类似,准确率的预测,也要使用单独的测试集与分类类似,准确率的预测,也要使用单独的测试集数据预测的两步过程数据预测也是一个两步的过程,类似于前面描述3.1 决策树概述决策树概述v决策树决策树(Decision Tree)一种描述概念空间的有效的归纳推理办法。一种描述概念空间的有效的归纳推理办法。基于决策树的学习方法可以进行不相关的基于决策树的学习方法可以进行不相关的多概念学习,具有简单快捷的优势,已经多概念学习,具有简单快捷的优势,已经在各个领域取得广泛应用。在各个领域取得广泛应用。v决策树是一种树型结构,其中每个内部结决策树是一种树型结构,其中每个内部结点表示在一个属性上的测试,每个分支代点表示在一个属性上的测试,每个分支代表一个测试输出,每个叶结点代表一种类表一个测试输出,每个叶结点代表一种类别。别。3.1 决策树概述决策树(Decision Tree)决策v决策树学习是以实例为基础的归纳学习。决策树学习是以实例为基础的归纳学习。v从一类无序、无规则的事物(概念)中推理出决策树表示的分类规则。从一类无序、无规则的事物(概念)中推理出决策树表示的分类规则。v概念分类学习算法:来源于概念分类学习算法:来源于Hunt,Marin和和Stone 于于1966年研制的年研制的CLS学习系统,用于学习学习系统,用于学习单个概念。单个概念。1979年年,J.R.Quinlan 给出给出ID3算法,并在算法,并在1983年和年和1986年对年对ID3 进行了总结和简化,使其成为决策树学习算法的典型。进行了总结和简化,使其成为决策树学习算法的典型。Schlimmer 和和Fisher 于于1986年对年对ID3进行改造,在每个可能的决进行改造,在每个可能的决策树节点创建缓冲区,使决策树可以递增式生成,得到策树节点创建缓冲区,使决策树可以递增式生成,得到ID4算法。算法。1988年,年,Utgoff 在在ID4基础上提出了基础上提出了ID5学习算法,进一步提高学习算法,进一步提高了效率。了效率。1993年,年,Quinlan 进一步发展了进一步发展了ID3算法,改进成算法,改进成C4.5算法。算法。另一类决策树算法为另一类决策树算法为CART,与,与C4.5不同的是,不同的是,CART的决策树的决策树由二元逻辑问题生成,每个树节点只有两个分枝,分别包括学习由二元逻辑问题生成,每个树节点只有两个分枝,分别包括学习实例的正例与反例。实例的正例与反例。v其基本思想是以信息熵为度量构造一棵熵值下降最快的树,到叶子节其基本思想是以信息熵为度量构造一棵熵值下降最快的树,到叶子节点处的熵值为零,此时每个叶节点中的实例都属于同一类。点处的熵值为零,此时每个叶节点中的实例都属于同一类。决策树学习是以实例为基础的归纳学习。v决策树学习采用的是自顶向下的递归方法。决策树学习采用的是自顶向下的递归方法。v决策树的每一层节点依照某一属性值向下分为子节点,待分决策树的每一层节点依照某一属性值向下分为子节点,待分类的实例在每一节点处与该节点相关的属性值进行比较,根类的实例在每一节点处与该节点相关的属性值进行比较,根据不同的比较结果向相应的子节点扩展,这一过程在到达决据不同的比较结果向相应的子节点扩展,这一过程在到达决策树的叶节点时结束,此时得到结论。策树的叶节点时结束,此时得到结论。v从根节点到叶节点的每一条路经都对应着一条合理的规则,从根节点到叶节点的每一条路经都对应着一条合理的规则,规则间各个部分(各个层的条件)的关系是合取关系。整个规则间各个部分(各个层的条件)的关系是合取关系。整个决策树就对应着一组析取的规则。决策树就对应着一组析取的规则。v决策树学习算法的最大优点是,它可以自学习。在学习的过决策树学习算法的最大优点是,它可以自学习。在学习的过程中,不需要使用者了解过多背景知识,只需要对训练例子程中,不需要使用者了解过多背景知识,只需要对训练例子进行较好的标注,就能够进行学习。如果在应用中发现不符进行较好的标注,就能够进行学习。如果在应用中发现不符合规则的实例,程序会询问用户该实例的正确分类,从而生合规则的实例,程序会询问用户该实例的正确分类,从而生成新的分枝和叶子,并添加到树中。成新的分枝和叶子,并添加到树中。决策树学习采用的是自顶向下的递归方法。v树是由节点和分枝组成的层树是由节点和分枝组成的层次数据结构。节点用于存贮次数据结构。节点用于存贮信息或知识,分枝用于连接信息或知识,分枝用于连接各个节点。树是图的一个特各个节点。树是图的一个特例,图是更一般的数学结构,例,图是更一般的数学结构,如贝叶斯网络。如贝叶斯网络。v决策树是描述分类过程的一决策树是描述分类过程的一种数据结构,从上端的根节种数据结构,从上端的根节点开始,各种分类原则被引点开始,各种分类原则被引用进来,并依这些分类原则用进来,并依这些分类原则将根节点的数据集划分为子将根节点的数据集划分为子集,这一划分过程直到某种集,这一划分过程直到某种约束条件满足而结束。约束条件满足而结束。根结点根结点个子大个子大可能是松鼠可能是松鼠可能是老鼠可能是老鼠可能是大象可能是大象在水里在水里会吱吱叫会吱吱叫鼻子长鼻子长脖子长脖子长个子小个子小不会吱吱叫不会吱吱叫鼻子短鼻子短脖子短脖子短可能是长颈鹿可能是长颈鹿在陆地上在陆地上可能是犀牛可能是犀牛可能是河马可能是河马树是由节点和分枝组成的层次数据结构。节点用于存贮信息或知识,v可可以以看看到到,一一个个决决策策树树的的内内部部结结点点包包含含学学习习的的实实例例,每每层层分分枝枝代代表表了了实实例例的的一一个个属属性性的的可可能能取取值值,叶叶节节点点是是最最终终划划分分成成的的类类。如如果果判判定定是是二二元元的的,那那么么构构造造的的将将是是一一棵棵二二叉叉树树,在在树树中中每每回回答答一一个个 问问 题题 就就 降降 到到 树树 的的 下下 一一 层层,这这 类类 树树 一一 般般 称称 为为CART(Classification And Regression Tree)。)。v判判定定结结构构可可以以机机械械的的转转变变成成产产生生式式规规则则。可可以以通通过过对对结结构构进进行行广广度度优优先先搜搜索索,并并在在每每个个节节点点生生成成“IFTHEN”规规则则来来实实现现。如如图图6-13的决策树可以转换成下规则:的决策树可以转换成下规则:IF“个子大个子大”THEN IF“脖子短脖子短”THEN IF“鼻子长鼻子长”THEN 可能是大象可能是大象形式化表示成形式化表示成 根结点根结点个个 子子大大可可能能是是松松鼠鼠可可能能是是老老鼠鼠可可能能是是大大象象在在 水水里里会会 吱吱 吱吱叫叫鼻鼻 子子长长脖脖 子子长长个子小个子小不不会会吱吱吱吱叫叫鼻鼻 子子短短脖脖 子子短短可可能能是是长长颈颈鹿鹿在在 陆陆 地地上上可可能能是是犀犀牛牛可可能能是是河河马马可以看到,一个决策树的内部结点包含学习的实例,每层分枝代表了v构造一棵决策树要解决四个问题:构造一棵决策树要解决四个问题:收集待分类的数据,这些数据的所有属性应该是完全标注的。收集待分类的数据,这些数据的所有属性应该是完全标注的。设计分类原则,即数据的哪些属性可以被用来分类,以及如何将该属性量化。设计分类原则,即数据的哪些属性可以被用来分类,以及如何将该属性量化。分类原则的选择,即在众多分类准则中,每一步选择哪一准则使最终的树更分类原则的选择,即在众多分类准则中,每一步选择哪一准则使最终的树更令人满意。令人满意。设计分类停止条件,实际应用中数据的属性很多,真正有分类意义的属性往设计分类停止条件,实际应用中数据的属性很多,真正有分类意义的属性往往是有限几个,因此在必要的时候应该停止数据集分裂:往是有限几个,因此在必要的时候应该停止数据集分裂:v该节点包含的数据太少不足以分裂,该节点包含的数据太少不足以分裂,v继续分裂数据集对树生成的目标继续分裂数据集对树生成的目标(例如例如ID3中的熵下降准则中的熵下降准则)没有贡献,没有贡献,v树的深度过大不宜再分。树的深度过大不宜再分。v通用的决策树分裂目标是整棵树的熵总量最小,每一步分裂时,选择使熵减小通用的决策树分裂目标是整棵树的熵总量最小,每一步分裂时,选择使熵减小最大的准则,这种方案使最具有分类潜力的准则最先被提取出来最大的准则,这种方案使最具有分类潜力的准则最先被提取出来 构造一棵决策树要解决四个问题:预测变量目标变量记录样本类标号属性类别集合:类别集合:Class=“优优”,“良良”,“差差”决策树的基本原理 预测变量目标变量类标号属性类别集合:Class=“优”,“根节点根节点叶子节点叶子节点分裂属性分裂属性分裂谓词分裂谓词 每一个叶子节点都被确定一个类标号每一个叶子节点都被确定一个类标号 根节点叶子节点分裂属性分裂谓词 每一个叶子节点都被确定一个类v每一个节点都代表了一个数据集。每一个节点都代表了一个数据集。根节点根节点1代表了初始数据集代表了初始数据集D其它节点都是数据集其它节点都是数据集D的子集。的子集。v例如,节点例如,节点2代表数据集代表数据集D中年龄小于中年龄小于40岁的那部分样本组成岁的那部分样本组成的数据集。的数据集。v子节点是父节点的子集。子节点是父节点的子集。vIf(年龄年龄40)and(职业职业=“学生学生”or职业职业=“教师教师”)Then 信用等级信用等级=“优优”vIf(年龄年龄40)and(职业职业!=“学生学生”and职业职业!=“教师教师”)Then 信用等级信用等级=“良良”vIf(年龄年龄40)and(月薪月薪3000)Then 信用等级信用等级=“优优”每一个节点都代表了一个数据集。v决策树是指具有下列三个性质的树:决策树是指具有下列三个性质的树:每个非叶子节点都被标记一个分裂属性每个非叶子节点都被标记一个分裂属性Ai;每个分支都被标记一个分裂谓词,这个分裂谓每个分支都被标记一个分裂谓词,这个分裂谓词是分裂父节点的具体依据;词是分裂父节点的具体依据;每个叶子节点都被标记一个类标号每个叶子节点都被标记一个类标号CjC。v任何一个决策树算法,其核心步骤都是为任何一个决策树算法,其核心步骤都是为每一次分裂确定一个每一次分裂确定一个分裂属性分裂属性,即究竟按,即究竟按照哪一个属性来把当前数据集划分为若干照哪一个属性来把当前数据集划分为若干个子集,从而形成若干个个子集,从而形成若干个“树枝树枝”。决策树是指具有下列三个性质的树:v熵熵,是是数数据据集集中中的的不不确确定定性性、突突发发性性或或随随机机性性的的程度的度量。程度的度量。v当当一一个个数数据据集集中中的的记记录录全全部部都都属属于于同同一一类类的的时时候候,则没有不确定性,这种情况下的熵就为则没有不确定性,这种情况下的熵就为0。v决决策策树树分分裂裂的的基基本本原原则则是是,数数据据集集被被分分裂裂为为若若干干个个子子集集后后,要要使使每每个个子子集集中中的的数数据据尽尽可可能能的的“纯纯”,也也就就是是说说子子集集中中的的记记录录要要尽尽可可能能属属于于同同一一个个类类别别。如如果果套套用用熵熵的的概概念念,即即要要使使分分裂裂后后各各子子集集的熵尽可能的小。的熵尽可能的小。3.2 ID3、C4.5与与C5.0熵,是数据集中的不确定性、突发性或随机性的程度的度量。3.2ID3=C4.5=C5.0vRoss QuinlanID3 1986年C4.5 1993年C5.0 1998年 2011年获得KDD创新奖vhttp:/ Quinlanv数据集数据集D被按照分裂属性被按照分裂属性“年龄年龄”分裂为两分裂为两个子集个子集D1 和和D2 信息增益信息增益:Gain(D,年龄年龄)=H(D)P(D1)H(D1)+P(D2)H(D2)数据集D被按照分裂属性“年龄”分裂为两个子集D1 和D2 信v显显然然,如如果果D1和和D2中中的的数数据据越越“纯纯”,H(D1)和和H(D2)就就越越小小,信信息息增益就越大,或者说熵下降得越多。增益就越大,或者说熵下降得越多。v按按照照这这个个方方法法,测测试试每每一一个个属属性性的的信信息息增增益益,选选择择增增益益值值最最大大的的属属性性作作为为分裂属性。分裂属性。显然,如果D1和D2中的数据越“纯”,H(D1)和H(D2)信息熵计算举例信息熵计算举例v令令C1对应对应“是是”,C2对应对应“否否”。那么。那么C1有有9个样个样本,本,C2有有5个样本,所以数据集个样本,所以数据集D的熵为:的熵为:信息熵计算举例令C1对应“是”,C2对应“否”。那么C1有9决策树归纳策略(1)v输入输入数据划分数据划分D是训练元组和对应类标号的集合是训练元组和对应类标号的集合attribute_list,候选属性的集合候选属性的集合Attribute_selection_method,指定选择属性的启发性过程,指定选择属性的启发性过程算法步骤算法步骤1.树以代表训练样本的单个节点(树以代表训练样本的单个节点(N)开始)开始2.如果样本都在同一个类,则该节点成为树叶,并用该类标记如果样本都在同一个类,则该节点成为树叶,并用该类标记3.否则,算法调用否则,算法调用Attribute_selection_method,选择能够最,选择能够最好的将样本分类的属性;确定好的将样本分类的属性;确定“分裂准则分裂准则”,指出,指出“分裂点分裂点”或或“分裂子集分裂子集”。决策树归纳策略(1)输入决策树归纳策略(2)4.对测试属性每个已知的值,创建一个分支,对测试属性每个已知的值,创建一个分支,并以此划分元组并以此划分元组5.算法使用同样的过程,递归的形成每个划分算法使用同样的过程,递归的形成每个划分上的元组决策树。一旦一个属性出现在一个上的元组决策树。一旦一个属性出现在一个节点上,就不在该节点的任何子节点上出现节点上,就不在该节点的任何子节点上出现6.递归划分步骤停止的条件递归划分步骤停止的条件划分划分D(在(在N节点提供)的所有元组属于同一类节点提供)的所有元组属于同一类没有剩余属性可以用来进一步划分元组没有剩余属性可以用来进一步划分元组使用多数表决使用多数表决没有剩余的样本没有剩余的样本给定分支没有元组,则以给定分支没有元组,则以D中多数类创建一个树叶中多数类创建一个树叶决策树归纳策略(2)对测试属性每个已知的值,创建一个分支,属性选择度量v属属性性选选择择度度量量是是一一种种选选择择分分裂裂准准则则,将将给给定定类标号的训练元组最好的进行划分的方法类标号的训练元组最好的进行划分的方法理理想想情情况况,每每个个划划分分都都是是“纯纯”的的,即即落落在在给给定定划分内的元组都属于相同的类划分内的元组都属于相同的类属性选择度量又称为分裂准则属性选择度量又称为分裂准则v常用的属性选择度量常用的属性选择度量信息增益信息增益增益率增益率Gini指标指标属性选择度量属性选择度量是一种选择分裂准则,将给定类标号的训信息增益信息增益(1)vS是一个是一个训练样本训练样本的集合,该样本中每个集的集合,该样本中每个集合的合的类编号类编号已知。每个样本为一个已知。每个样本为一个元组元组。有个属性用来判定某个训练样本的类编号有个属性用来判定某个训练样本的类编号v假设假设S中有中有m个类,总共个类,总共s个训练样本,每个训练样本,每个类个类Ci有有si个样本个样本(i1,2,3.m),那么任意,那么任意一个样本属于类一个样本属于类Ci的概率是的概率是si/s,那么用来,那么用来分类一个给定样本的分类一个给定样本的期望信息期望信息是:是:信息增益(1)S是一个训练样本的集合,该样本中每个集合的类信息增益信息增益(2)v一个有一个有v个值的属性个值的属性Aa1,a2,.,av可以将可以将S分成分成v个子集个子集S1,S2,.,Sv,其中,其中Sj包含包含S中属性中属性A上的值为上的值为aj的样本。的样本。假设假设Sj包含类包含类Ci的的sij个样本。根据个样本。根据A的这种划分的期望的这种划分的期望信息称为信息称为A的的熵熵vA上该划分的获得的信息增益定义为:上该划分的获得的信息增益定义为:v具有高信息增益的属性,是给定集合中具有高区分度的具有高信息增益的属性,是给定集合中具有高区分度的属性。所以可以通过计算属性。所以可以通过计算S中样本的每个属性的信息增中样本的每个属性的信息增益,来得到一个属性的相关性的排序。益,来得到一个属性的相关性的排序。信息增益(2)一个有v个值的属性Aa1,a2,.,av若若以以“年年龄龄”作作为为分分裂裂属属性性,则则产产生生三三个个子子集集(因因为为该该属属性性有有三三个个不不同同的的取取值值),所所以以D按按照照属属性性“年年龄龄”划划分分出出的的三三个个子子集集的的熵熵的的加加权权和和为:为:其中有一个子集的熵为其中有一个子集的熵为0若以“年龄”作为分裂属性,则产生三个子集(因为该属性有三个不v同理,若以“收入水平”为分裂属性:同理,若以“收入水平”为分裂属性:v若以“有固定收入”为分裂属性:v若以“VIP”为分裂属性:若以“有固定收入”为分裂属性:以以“年龄年龄”作为分裂属性,所得信息增益最大。作为分裂属性,所得信息增益最大。叶子节点叶子节点以“年龄”作为分裂属性,所得信息增益最大。叶子节点第3章-分类与决策树分析课件ID3的主要缺点的主要缺点vID3算算法法只只能能处处理理分分类类属属性性(离离散散属属性性),而而不不能能处处理理连连续续属属性性(数数值值属属性性)。在在处处理理连连续续属属性性时时,一一般般要要先先将将连连续续属属性性划划分分为为多多个个区区间间,转转化化为为分分类类属属性性。例例如如“年年龄龄”,要要把把数数值值事事先先转转换换为为诸诸如如“小小于于30岁岁”、“30至至50岁岁”、“大大于于50岁岁”这这样样的的区区间间,再再根根据据年年龄龄值值落落入入了了某某一一个个区区间间取取相相应应的的类类别别值值。通通常常,区区间间端端点点的的选选取取包包含含着着一一定的主观因素。定的主观因素。vID3生生成成的的决决策策树树是是一一棵棵多多叉叉树树,分分支支的的数数量量取取决决于于分分裂裂属属性性有有多多少少个个不不同同的的取取值值。这这不不利利于于处处理理分分裂裂属属性性取取值值数数目目较较多多的的情情况况。因因此此目目前前流流行行的的决策树算法大多采用二叉树模型。决策树算法大多采用二叉树模型。ID3的主要缺点ID3算法只能处理分类属性(离散属性),而不vID3是是采采用用“信信息息增增益益”来来选选择择分分裂裂属属性性的的。虽虽然然这这是是一一种种有有效效的的方方法法,但但其其具具有有明明显显的的倾倾向向性性,即即它它倾倾向向于于选选择择具具有有大大量量不不同同取取值值的的属属性性,从从而而产生许多小而纯的子集。产生许多小而纯的子集。v尤尤其其是是关关系系数数据据库库中中作作为为主主键键的的属属性性,每每一一个个样样本本都都有有一一个个不不同同的的取取值值。如如果果以以这这样样的的属属性性作作为为分分裂裂属属性性,那那么么将将产产生生非非常常多多的的分分支支,而而且且每每一一个个分分支支产产生生的的子子集集的的熵熵均均为为0(因因为为子子集集中中只只有有一一个个样样本本!)。显显然然,这这样样的的决决策策树树是是没没有有实实际际意意义义的的。因因此此,Quinlan提提出出使使用用增增益益比比例例来来代代替替信息增益。信息增益。3.2.2 C4.5ID3是采用“信息增益”来选择分裂属性的。虽然这是一种有效的v设设S代表训练数据集,由代表训练数据集,由s个样本组成。个样本组成。A是是S的某个属性,有的某个属性,有m个不同的取值,根据这个不同的取值,根据这些取值可以把些取值可以把S划分为划分为m个子集,个子集,Si表示第表示第i个子集(个子集(i=1,2,m),),|Si|表示子集表示子集Si中的中的样本数量。那么:样本数量。那么:称为“数据集数据集S关于属性关于属性A的熵的熵”。设S代表训练数据集,由s个样本组成。A是S的某个属性,有m个v用来衡量属性A分裂数据集的广度和均匀性。样本在属性A上的取值分布越均匀,Split_Info(S,A)的值就越大。v增益比例的定义为:v增益比例消除了选择那些值较多且均匀分布的属性作为分裂属性的倾向性。用来衡量属性A分裂数据集的广度和均匀性。样本在属性A上的取值连续属性的处理连续属性的处理 v设属性设属性Y有有m个不同的取值,按大小顺序升序排列个不同的取值,按大小顺序升序排列为为v1v2,vi”将数据集划分为两个部分,将数据集划分为两个部分,形成两个分支。显然,形成两个分支。显然,v1,v2,vm-1就是可能的就是可能的阈值的集合,共阈值的集合,共(m-1)个元素。个元素。v把这些阈值一一取出来,并根据把这些阈值一一取出来,并根据“Yvi”和和“Y vi”把训练数据集划分为两个子集,并计算每一种把训练数据集划分为两个子集,并计算每一种划分方案下的信息增益或增益比例,选择最大增划分方案下的信息增益或增益比例,选择最大增益或增益比例所对应的那个阈值,作为最优的阈益或增益比例所对应的那个阈值,作为最优的阈值。值。v可以看出,如果选择连续属性作为分裂属性,则可以看出,如果选择连续属性作为分裂属性,则分裂后只有两个分支,而不象离散属性那样可能分裂后只有两个分支,而不象离散属性那样可能会有多个分支(由离散属性的取值个数决定)。会有多个分支(由离散属性的取值个数决定)。连续属性的处理 设属性Y有m个不同的取值,按大小顺序升序排列第3章-分类与决策树分析课件v如果要计算如果要计算“年龄年龄”属性的信息增益,属性的信息增益,则首先将不同的属性值排序则首先将不同的属性值排序20,25,28,40,46,55,56,58,60,65,70v那么可能的阈值集合为那么可能的阈值集合为20,25,28,40,46,55,56,58,60,65,70,从中一一取出,并形成分裂谓词,例从中一一取出,并形成分裂谓词,例如取出如取出“20”,形成谓词,形成谓词“20”和和“20”,用它们划分训练数据集,然,用它们划分训练数据集,然后计算信息增益或增益比例。后计算信息增益或增益比例。如果要计算“年龄”属性的信息增益,则首先将不同的属性值排序处理有缺失值的样本处理有缺失值的样本 vC4.5并不会武断地将一个有缺失值的样本并不会武断地将一个有缺失值的样本抛弃抛弃,也不会随意地将它分配到某个类别中也不会随意地将它分配到某个类别中去。去。v“收入水平收入水平”的值,取为的值,取为“高高”的概率为的概率为3/12,取为,取为“中中”的概率为的概率为5/12,取为,取为“低低”的概率为的概率为4/12。vS1(收入水平(收入水平=“高高”)的样本数量为:)的样本数量为:3+2(3/12);处理有缺失值的样本 C4.5并不会武断地将一个有缺失值的样本3.2.4 C5.0算法算法vC5.0C5.0是经典的决策树模型的算法之一,可生成多分支的决是经典的决策树模型的算法之一,可生成多分支的决策树,目标变量为分类变量策树,目标变量为分类变量v使用使用c5.0c5.0算法算法可以可以生成决策树(生成决策树(decision treedecision tree)或者规则)或者规则集(集(rulerule setssets)。)。C5.0C5.0模型根据能够带来最大信息增益模型根据能够带来最大信息增益(information gaininformation gain)的字段拆分样本。)的字段拆分样本。第一次拆分确定第一次拆分确定的样本子集随后再次拆分,通常是根据另一个字段进行拆的样本子集随后再次拆分,通常是根据另一个字段进行拆分,这一过程重复进行直到样本子集不能再被拆分为止。分,这一过程重复进行直到样本子集不能再被拆分为止。最后,重新检验最低层次的拆分,那些对模型值没有显著最后,重新检验最低层次的拆分,那些对模型值没有显著贡献的样本子集被剔除或者修剪。贡献的样本子集被剔除或者修剪。3.2.4 C5.0算法C5.0是经典的决策树模型的算法C5.0的优点的优点v优点:优点:C5.0C5.0模型在面对数据遗漏和输入字段很多的问题时非常模型在面对数据遗漏和输入字段很多的问题时非常稳健。稳健。C5.0C5.0模型通常不需要很长的训练次数进行估计。模型通常不需要很长的训练次数进行估计。C5.0C5.0模型比一些其他类型的模型易于理解,模型推出的模型比一些其他类型的模型易于理解,模型推出的规则有非常直观的解释。规则有非常直观的解释。C5.0C5.0也提供强大的增强技术以提高分类的精度。也提供强大的增强技术以提高分类的精度。vC5.0C5.0算法选择分支变量的依据算法选择分支变量的依据以信息熵的下降速度作为确定最佳分支变量和分割阀值以信息熵的下降速度作为确定最佳分支变量和分割阀值的依据。信息熵的下降意味着信息的不确定性下降的依据。信息熵的下降意味着信息的不确定性下降C5.0的优点优点:举例:在举例:在Clementine中应用中应用C5.0v这里,以学生参加某次社会公益活动的数据(文这里,以学生参加某次社会公益活动的数据(文件名为件名为Students.xls)为例,讲解)为例,讲解C5.0算法的具算法的具体实现操作。体实现操作。v分析目标是,研究哪些因素将显著影响到学生参分析目标是,研究哪些因素将显著影响到学生参与社会公益活动。与社会公益活动。其中,是否参加为输出变量,除编号以外的其中,是否参加为输出变量,除编号以外的变量均为输入变量。变量均为输入变量。举例:在Clementine中应用C5.0这里,以学生参加某数据流如下:数据流如下:数据流如下:一、建立模型 第一步建立数据源,第二步选择第一步建立数据源,第二步选择Modeling卡中的卡中的C5.0节点节点并将其连接到恰当位置,鼠标右击该节点,弹出下面窗口。并将其连接到恰当位置,鼠标右击该节点,弹出下面窗口。模型名称(模型名称(Model nameModel name)输出类型(输出类型(Output typeOutput type):此处):此处指定希望最终生成的模型是决策树指定希望最终生成的模型是决策树还是规则集。还是规则集。群体字符(群体字符(Group symbolicsGroup symbolics)。)。如果选择该选项,如果选择该选项,C5.0C5.0会尝试将所会尝试将所有与输出字段格式相似的字符值合有与输出字段格式相似的字符值合并。如果没有选择该选项,并。如果没有选择该选项,C5.0C5.0会会为用于拆分母节点的字符字段的每为用于拆分母节点的字符字段的每个值创建一个子节点。个值创建一个子节点。使用自举法(使用自举法(Use boostingUse boosting):提):提高其精确率。这种方法按序列建立高其精确率。这种方法按序列建立多重模型。第一个模型以通常的方多重模型。第一个模型以通常的方式建立。随后,建立第二个模型,式建立。随后,建立第二个模型,聚焦于被第一个模型错误分类的记聚焦于被第一个模型错误分类的记录。以此类推,最后应用整个模型录。以此类推,最后应用整个模型集对样本进行分类,使用加权投票集对样本进行分类,使用加权投票过程把分散的预测合并成综合预测。过程把分散的预测合并成综合预测。The Number of trialsThe Number of trials选项允许控选项允许控制用于助推的模型数量。制用于助推的模型数量。一、建立模型 第一步建立数据源,第二步选择Modelv交叉验证(交叉验证(Crossvalidate):如果选择了该):如果选择了该选项,选项,C5.0将使用一组基于将使用一组基于训练数据子集建立的模型,训练数据子集建立的模型,来估计基于全部数据建立的来估计基于全部数据建立的模型的精确度。如果数据集模型的精确度。如果数据集过小,不能拆分成传统意义过小,不能拆分成传统意义上的训练集和测试集,这将上的训练集和测试集,这将非常有用。或用于交叉验证非常有用。或用于交叉验证的模型数目。的模型数目。v模式(模式(Mode):对于简单的):对于简单的训练,绝大多数训练,绝大多数C5.0参数是参数是自动设置。高级训练模式选自动设置。高级训练模式选项允许对训练参数更多的直项允许对训练参数更多的直接控制。接控制。第3章-分类与决策树分析课件v简单模式选项(简单模式选项(simplesimple)v偏好(偏好(FavorFavor):):在在accuracyaccuracy下,下,C5.0C5.0会生会生成尽可能精确的决策树。成尽可能精确的决策树。在某些情况下,这会导致在某些情况下,这会导致过度拟和。选择过度拟和。选择GeneralityGenerality(一般化)项(一般化)项以使用不易受该问题影响以使用不易受该问题影响的算法设置。的算法设置。v期望噪声百分数期望噪声百分数(Expected noise Expected noise (%):):指定训练集中的噪声或错指定训练集中的噪声或错误数据期望比率。误数据期望比率。简单模式选项(simple)v高级模式选项高级模式选项v修剪纯度(修剪纯度(pruning severity):决定生):决定生成决策树或规则集被修剪的程度。提高纯成决策树或规则集被修剪的程度。提高纯度值将获得更小,更简洁的决策树。降低度值将获得更小,更简洁的决策树。降低纯度值将获得更加精确的决策树。纯度值将获得更加精确的决策树。v子分支最少记录数(子分支最少记录数(Minimum records per child branch):子群大小可以用于):子群大小可以用于限制决策树任一分支的拆分数。只有当两限制决策树任一分支的拆分数。只有当两个或以上的后序子分支包括来自训练集的个或以上的后序子分支包括来自训练集的记录不少于最小记录数,决策树才会继续记录不少于最小记录数,决策树才会继续拆分。默认值为拆分。默认值为2,提高该值将有助于避,提高该值将有助于避免噪声数据的过度训练。免噪声数据的过度训练。v全局修剪(全局修剪(Use global pruning):):第一阶段:局部修建第一阶段:局部修建 第二阶段:全局修剪第二阶段:全局修剪v排除属性(排除属性(Winnow attributes):如果):如果选择了该选项,选择了该选项,C5.0会在建立模型前检验会在建立模型前检验预测字段的有用性。被发现与分析无关的预测字段的有用性。被发现与分析无关的预测字段将不参与建模过程。这一选项对预测字段将不参与建模过程。这一选项对有许多预测字段元的模型非常有用,并且有许多预测字段元的模型非常有用,并且有助于避免过度拟和。有助于避免过度拟和。高级模式选项图图1 指定错误归类损失指定错误归类损失错错误误归归类类损损失失允允许许指指定定不不同同类类型预测错误之间的相对重要性。型预测错误之间的相对重要性。错错误误归归类类损损失失矩矩阵阵显显示示预预测测类类和和实实际际类类每每一一可可能能组组合合的的损损失失。所所有有的的错错误误归归类类损损失失都都预预设设设设置置为为1.01.0。要要输输入入自自定定义义损损失失值值,选选 择择 Use Use misclassification misclassification costscosts,然然后后把把自自定定义义值值输输入入到到损失矩阵中。损失矩阵中。图1 指定错误归类损失错误归类损失允许指定不同类型预测错误之具体设置具体设置具体设置执行结果执行结果执行结果二、预测结果二、预测结果 为为观观测测C5.0对对每每个个样样本本的的预预测测结结果果,可可在在流流管管理理器器的的Models卡卡中中,鼠鼠标标右右击击C5.0模模型型结结果果,选选择择弹弹出出菜菜单单中中的的Add To Stream,并并将将模模型型结结果果连连接接到到数数据据流流中中,然然后后连连接接Table节点查看预测结果,如下图所示:节点查看预测结果,如下图所示:二、预测结果 为观测C5.0对每个样本的预测结果,可在三、三、C5.0模型评价模型评价三、C5.0模型评价CARTv分类回归树CART(Classification and Regression Trees)1984 vL.Breiman,J.Friedman,R.Olshen和C.Stonehttp:/www.stat.berkeley.edu/breiman/http:/www-stat.stanford.edu/jhf/http:/www-stat.stanford.edu/olshen/v目标变量是类别的-分类树v目标变量是连续的-回归树CART分类回归树CART(Classification aCARTv二元划分二叉树不易产生数据碎片,精确度往往也会高于多叉树,所以在CART算法中,采用了二元划分v不纯性度量分类目标:Gini指标、Towing、order Towing连续目标:最小平方残差、最小绝对残差v剪枝:用独立的验证数据集对训练集生长的树进行剪枝CART二元划分三个步骤三个步骤v生成最大树生成最大树生成一棵充分生长的最大树生成一棵充分生长的最大树v树的修剪树的修剪根据修剪算法对最大树进行修剪,生成由许多子根据修剪算法对最大树进行修剪,生成由许多子树组成的子树序列树组成的子树序列v子树评估子树评估从子树序列中选择一棵最优的子树作为最后的结从子树序列中选择一棵最优的子树作为最后的结果。果。三个步骤生成最大树v分类与回归树(Classification And RegressionTrees,CART)是一种产生二叉决策树的技术.v分类树与回归树下面有两个重要的思想:第一个:递归地划分自变量空间的想法;第二个:用验证数据进行剪枝的想法.分类与回归树一递归划分自变量空间一递归划分自变量空间v递归划分 用Y表示因变量(分类变量);用X1,X2,XP表示自变量.通过递归的方式把关于X的P维空间划分为 不重叠的矩形.一递归划分自变量空间递归划分 v划分步骤:首先:一个自变量被选择,例如Xi和Xi的一个值Si,若选择Si把P维空间分为两部分:一部分包含的点都满足XiSi.v其次:再把上步中得到的两部分中的一个部分,通过选择一个变量和该变量的划分值以相似的方式再划分.v重复上述步骤,直至把整个X空间划分成的每个小矩形都尽可能的是同构的.划分步骤:v 例示递归划分的过程v 例1(Johnson和Wichern)v 乘式割草机制造商意欲发现一个把城市中的家庭分成那些愿意购买乘式割草机和不愿意购买的两类的方法。在这个城市的家庭中随机抽取12个拥有者和12个非拥有者的家庭作为样本。这些数据如表1所示。这里的自变量是收入(X1)和草地面积(X2)。类别变量Y有两个类别:拥有者和非拥有者。表1 例示递归划分的过程第3章-分类与决策树分析课件vCART如何选择划分点?对于一个变量划分点是一对连续变量值的中点.例如:X1可能划分点是38.1,45.3,50.1,109.5;X2可能划分点是14.4,15.4,16.223.这些划分点按照能减少杂质的多少来分级.杂质度量方法:Gini指标.矩形A的Gini不纯度可定义为:其中K=1,2,C,来表示类,Pk是观测点中属于类K的比例.CART如何选择划分点?杂度杂度 v在ID3算法中,用“熵”来度量数据集随机性的程度。v在CART中我们把这种随机性的程度称为“杂杂度度”(impurity,也称为“不纯度”),并且用“吉尼”(gini)指标来衡量它。杂度 在ID3算法中,用“熵”来度量数据集随机性的程度。吉尼指标 v设t是决策树上的某个节点,该节点的数据集为S,由s个样本组成,其类标号属性具有m个不同的取值,即定义了m个不同的类Ci(i=1,2,m)。设属于类Ci的样本的个数为si。那么这个节点的吉尼指标这样来计算:吉尼指标 设t是决策树上的某个节点,该节点的数据集为S,由s杂度削减杂度削减 v由于CART算法生成的是一棵二叉树,所以对于节点t来说,分裂后将产生两个子节点tL和tR,设这两个子节点的杂度分别为gini(tL)和gini(tR),那么,在此次分裂过程中的杂度削减杂度削减为:杂度削减 由于CART算法生成的是一棵二叉树,所以对于节点t计算杂度削减计算杂度削减停止准则停止准则 v以下任何一个规则被满足,节点将不再分裂以下任何一个规则被满足,节点将不再分裂这个节点是这个节点是“纯纯”的,即这个节点的所有样本都属于同的,即这个节点的所有样本都属于同一类别;一类别;对于每一个属性(不包括类标号属性),节点中的所有对于每一个属性(不包括类标号属性),节点中的所有样本都有相同的值;样本都有相同的值;当前节点所在的深度已经达到当前节点所在的深度已经达到“最大树深度最大树深度”(如果定(如果定义有);义有);这个节点的样本数量小于这个节点的样本数量小于“父分支中的最小记录数父分支中的最小记录数”(如果定义有);(如果定义有);这个节点分裂后产生的子节点中包含的样本数量小于预这个节点分裂后产生的子节点中包含的样本数量小于预定义的定义的“子分支中的最小记录数子分支中的最小记录数”(如果定义有);(如果定义有);分裂产生的杂度削减小于预定义的分裂产生的杂度削减小于预定义的“最小杂度削减最小杂度削减”(如果定义有)(如果定义有)停止准则 以下任何一个规则被满足,节点将不再分裂选择草地面积变量X2=19做第一次分割,由(X1,X2)组成的空间被分成X219的两个矩形.选择草地面积变量X2=19做第一次分割,由(X1,X2)组成选择收入变量X1=84.75选择收入变量X1=84.75第3章-分类与决策树分析课件我们能看到递归划分是如何精炼候选矩形,使之变得更纯的算法过程.最后阶段的递归分析如图5所示我们能看到递归划分是如何精炼候选矩形,使之变得更纯的算法过程这个方法被称为分类树的原因是每次划分都可以描述为把一个节点分成两个后续节点.第一次分裂表示为树的根节点的分支,如图6这个方法被称为分类树的原因是每次划分都可以描述为把一个节点分树的前三次划分如图7树的前三次划分如图7整个树如下图8整个树如下图8二用验证数据进行剪枝vCART过程中第二个关键的思想是用独立的验证数据集对根据训练集生成的树进行剪枝.vCART剪枝目的:生成一个具有最小错误的树.v为什么要剪枝呢?因为:1 在树生成过程中可能存在不能提高 分类纯度的划分节点.2 存在过拟合训练数据.二用验证数据进行剪枝CART过程中第二个关键的思想是用独立的第3章-分类与决策树分析课件树的修剪 v叶子节点过多,则树的复杂度高。叶子节点过多,则树的复杂度高。v叶子节点过少,则误分类损失叶子节点过少,则误分类损失大。v代价复杂度代价复杂度 CART算法仍然使用后剪枝。在树的生成过程中,多展算法仍然使用后剪枝。在树的生成过程中,多展开一层就会有多一些的信息被发现,开一层就会有多一些的信息被发现,CART算法运行到算法运行到不能再长出分支为止,从而得到一棵最大的决策树。然不能再长出分支为止,从而得到一棵最大的决策树。然后对这棵大树进行剪枝。后对这棵大树进行剪枝。树的修剪 叶子节点过多,则树的复杂度高。CART算法仍然使用最佳剪枝树如下图10所示最佳剪枝树如下图10所示3.3.4 在在Clementine中应用中应用CART 这这 里里,以以 电电 信信 客客 户户 数数 据据(文文 件件 名名 为为Telephone.sav)为为例例,讨讨论论分分类类回回归归树树的的具具体体操操作作以以及及如如何何通通过过交交互互操操作作控控制制决决策策树树的的生生长长和和剪剪枝枝过程。过程。分分析析目目标标是是,找找到到影影响响客客户户流流失失的的重重要要因因素素,以实现客户流失的事前控制。以实现客户流失的事前控制。3.3.4 在Clementine中应用CART 数据流数据流数据流建建 模模建 模分类结果分类结果 分析结论分析结论1 在在流流管管理理器器的的Models卡卡中中,鼠鼠标标右右击击所所得得到到的的CART模模型型,选选择择弹弹出出菜菜单单中中的的Brower项项浏浏览览默默写写结结果果并并选选择择Generate菜菜单单下下的的Filter Node项项。于于是是,会会在在数数据据流流编编辑辑区区自自动动生生成成一一个个Filter节节点点,将将它它连连到到数数据据流流的的恰恰当当位位置置,可可看看到到下下图图结果:结果:从从图图中中可可知知,只只有有性性别别对对客客户户流流失失的的影影响响不不大大,其其他他因因素素都都有有影影响响。应应该该注注意意到到,这这棵棵决决策策树树是是代代价价复复杂杂度度最最小小的的,但但针针对对本本例例的的分分析析目目标标,可可适适当当减减少少复复杂杂性性、降降低低精精度度,以以找找到到更更主主要要的影响因素。的影响因素。分析结论1 在流管理器的Models卡中,鼠标右击所vChi-Square Automatic Interaction DetectionvCHAID提供了一种在多个自变量中自动搜索能产生提供了一种在多个自变量中自动搜索能产生最大差异的变量方案。最大差异的变量方案。v不同于不同于CR树和树和QUEST节点,节点,CHAID分析可以生分析可以生成非二成非二叉叉树,即有些分割有两个以上的分支。树,即有些分割有两个以上的分支。CHAID模型需要一个单一的目标和一个或多个输入模型需要一个单一的目标和一个或多个输入字段。字段。vCHAID分析,是一种用卡方统计,以确定最佳的分分析,是一种用卡方统计,以确定最佳的分割,建立决策树的分类方法。割,建立决策树的分类方法。3.4 CHAID 算法算法(卡方自动交叉检验)(卡方自动交叉检验)Chi-Square Automatic InteractiCHAID的适用范围的适用范围 当预测变量是分类变量时,当预测变量是分类变量时,CHAID方方法最适宜。对于连续型变量,法最适宜。对于连续型变量,CHAID在缺省在缺省状态下将连续变量自动分为状态下将连续变量自动分为10段处理,但是段处理,但是可能有遗漏。可能有遗漏。CHAID的适用范围 当预测变量是分类变实例:实例:以电信客户数据以电信客户数据Telephone.sav为例为例,讨论讨论CHAID具体操作。具体操作。实例:以电信客户数据Telephone.sClementine决策树算法决策树算法C&RT、CHAID、C5.0的区别的区别Clementine决策树算法C&RT、CHAID、C5.决策树决策树(decision tree)优点:优点:1)可以生成可以理解的规则;可以生成可以理解的规则;2)计算量绝对来说不是很大;计算量绝对来说不是很大;3)可以统治连续和种类字段;可以统治连续和种类字段;4)决策树可以清晰的显示哪些字段比较首决策树可以清晰的显
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!