决策树算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一个类(buys_computer=yes,或buys_computer=no))
3
第一节 决策树算法原理
优点: 使用者不需要了解很多背景知识,只要训练事例能用属性 →结论的方式表达出来,就能用该算法学习; 决策树模型效率高,对训练集数据量较大的情况较为适合; 分类模型是树状结构,简单直观,可将到达每个叶结点的 路径转换为IF→THEN形式的规则,易于理解; 决策树方法具有较高的分类精确度。
14
第一节 决策树算法原理
决策树算法的大体框架都是一样的,都采用了贪心(非回 溯的)方法来以自顶向下递归的方式构造决策树。 它首先根据所使用的分裂方法来对训练集递归地划分递归 地建立树的节点,直至满足下面两个条件之一,算法才停 止运行:( 1)训练数据集中每个子集的记录项全部属于 一类或某一个类占压倒性的多数;(2)生成的树节点通 过某个终止的分裂准则;最后,建立起决策树分类模型。
4
第一节 决策树算法原理
缺点: 不易处理连续数据。数据的属性必须被划分为不同的类别 才能处理,但是并非所有的分类问题都能明确划分成这个 区域类型; 对缺失数据难以处理,这是由于不能对缺失数据产生正确 的分支进而影响了整个决策树的生成; 决策树的过程忽略了数据库属性之间的相关性。
5
第一节 决策树算法原理
21
2.1 ID3算法
属性选择度量 在树的每个节点上使用信息增益(information gain)度量选 择测试属性。这种度量称作属性选择度量或分裂的优良性度 量。 选择具有最高信息增益(或最大信息熵压缩)的属性作为当 前节点的测试属性。该属性使得对结果划分中的样本分类所 需的信息量最小,并反映划分的最小随机性或“不纯性”。 这种信息理论方法使得对一个对象分类所需的期望测试数目 达到最小,并确保找到一棵简单的(但不必是最简单的)树。
26
RID
Age
1
<=30
2
<=30
3
31…40
4
>40
5
>40
6
>40
7
31…40
8
<=30
9
<=30
10
>40
11
<=30
12
31…40
13
31…40
14
>40
2.1 ID3算法
表5.7 AllElectronics顾客数据
Income
High High High Medium Low Low Low Medium Low Medium Medium Medium High Medium
决策树分类模型的工作过程可以简单地用图5.5描述。
训练数据集
Hale Waihona Puke 决策树分 类算法1 创建决策树过程
评估模式
测试集
预测 预测结果
类别未知 的数据集
2 使用决策树模型预测过程
图5.5 决策树分类模型的工作过程图
7
第一节 决策树算法原理
定义 5.1 给定一个训练数据集D={d1,…,dn},其中每个实例 di={t1,…,th} , th称为例子,训练数据集中包含以下属性A= {A1, A2,…,An} 。同时给定类别集合C= {C1, C2, …,Cm} 。对 于训练数据集D,决策树是指具有以下性质的树: 每个内部节点都被标记一个属性Ai。 每个弧都被标记一个值vk,这个值vk对应于相应父结点的属 性。 每个叶节点都被标记一个类Cj。
19
2.1 ID3算法
定义5.6 信息熵 自信息量只能反映符号的不确定性,而信息
熵可以用来度量整个信源X整体的不确定性。设某事物具
有n种相互独立的可能结果(或称状态):x1,x2,…,xn,每一
种结果出现的概率分别为P(x1),P(x2),…,P(xn) ,且有:
n
pxi 1
(5-6)
i 1
那么,该事物所具有的不确定量H(X)为:
n
H X px1I x1 px2 I x2 pxn I xn pxi log2 Pxi i 1
(5-7)
式(5-7)即为著名的香农信息量公式。
20
2.1 ID3算法
注意到式(5-7)中的对数以2为底,当n=2时且 P(X1)=P(X2)=1/2时,H(X)=1比特。 由此可见,一个等概率的二选一事件具有1比特的不确定性。 所以,可以把一个等概率的二选一事件所具有信息量定为信 息量的单位。任何一个事件能够分解成n个可能的二选一事 件,它的信息量就是n比特。 Quinlan的首创性工作主要是在决策树的学习算法中第一次 引入了信息论中的互信息(称之为信息增益),以之作为属 性选择的标准,并且将建树的方法嵌入在其中,其核心是在 决策树的各级节点上选择属性,用信息增益作为属性选择标 准,使得在每个非叶子节点上进行测试时,能够获得关于被 测试例子最大的类别信息。
EA
v r 1
er D
I s1r , s2r ,, smr
(5-9)
m
I s1r , s2r ,, smr pir log 2 pir i 1
(5-10)
24
2.1 ID3算法
以A为根的信息增益如公式(5-11)计算。
gainA I s1, s2,, sm EA
9
第一节 决策树算法原理
定义5.4 如果Xi是连续属性,那么分裂准则qi的形式为Xixi, 其中, xi Xi,就称为节点n的分裂点。
定义5.5 如果Xi是离散属性,那么qj的形式为xi Yi,其中Yi Xi, Yi就称为节点n的分裂子集。
注意:分裂准则与分裂属性、分裂点、分裂子集并不等同, 它们是四个不同的概念,并且分裂子集分裂点分裂属性 分裂准则。
17
第二节 常用决策树算法
2.1 ID3算法 2.2 C4.5算法 2.3 CART算法 2.4 PUBLIC算法 2.5 SLIQ算法 2.6 SPRINT算法
18
2.1 ID3算法
ID3是Quinlan于1986年提出的,是机器学习中一种广 为人知的一个算法,它的提出开创了决策树算法的先 河,而且是国际上最早最有影响的决策树方法,在该 算法中,引入了信息论中熵的概念,利用分割前后的 熵来计算信息增益,作为判别能力的度量。
8
第一节 决策树算法原理
定义5.2 分裂准则qi 定义为在决策树算法中将训练数据集D中 的元组划分为个体类的最好的方法与策略,它告诉我们在 节点N上测试哪个属性合适,如何选择测试与测试的方法, 从节点N上应该生长出哪些分支。
定义5.3 分裂属性Xi定义为决策树中每个内部节点都对应的一 个用于分裂数据集的属性。XiA= {A1, A2, …,An}。
1第五章数据挖掘经典算法决策树算法第一节决策树算法原理第二节常用决策树算法第三节决策树剪枝第四节由决策树提取分类规则第五节实例2第一节决策树算法原理决策树是一个类似于流程图的树结构其中每一个树节点可以是叶节点对应着某一类也可以对应着一个划分将该节点对应的样本集划分为若干子集每个子集对应一个节点
第五章 数据挖掘经典算法 ——决策树算法
2
第一节 决策树算法原理
Age?
<=30
31…40
>40
Student?
yes
Credit_rating
no
yes
no
yes
excellent
fair
no
yes
图5.4 概念buys_computer的判定树,指出AllElectronics公司的顾客是否可能购买 计算机(每个内部(非树叶)节点表示一个属性上的测试,每个树叶节点代表
颜色
红 绿蓝 橙
收入
低 中等…… 高
图5.7 按照分裂子集划分而成的决策树图与相关的两个具体例子图 12
第一节 决策树算法原理
XYi
yes
no
颜色{红,绿}


图5.8 按照分裂子集划分而成的决策树(只能是二叉树)图与相关的具体例子图
13
第一节 决策树算法原理
选择哪种分类准则进行建树的分类方法是决策树算法的 关键。 根据分类准则的不同,目前决策树算法可以分为两类: 基于信息论的方法和最小GINI指示方法。 基于信息论的方法有ID系列算法,C4.5算法; 最小GINI指示方法有CART、SLIQ和SPRINT算法。
22
2.1 ID3算法
设训练数据集D=D1D2 …Dn是n维有穷向量空间,其中Dj是 有穷离散符号集,D中的每个元素d=< t1,…,tn >叫做例子,其 中tjDj,j=1,2,…,n。 设训练数据集D一共有m个不同类Ci(i=1,…,m) ,每类样例 数为pi,i=1,2,…,m,设si是类Ci中的样本数,pi是任意样本属 于Ci的概率,并用si / |D|估计。对给定的样本分类所需的期望 信息由公式(5-8)给出:
(5-11)
gain(A)是由于知道属性A的值而导致的熵的期望压缩。
ID3选择使gain(A)最大的属性A*作为根节点,对A*的不同 取值对应的v个子集递归调用上述过程生成A*的子节点 B1,B2,…,Bv。
25
2.1 ID3算法
例5.4 : 表5.7 给出了取自AllElectronics顾客数据库数据元组记 录集。类标号属性buys_computer有两个不同值(即 (yes,no)),因此有两个不同的类(m=2)。设类C1 对应于yes,有9个样本,而类C2对应于no,有5个样本。
16
第一节 决策树算法原理
目前评价决策树好坏主要使用如下几个量化评估标准。 (1)预测准确性——描述分类模型准确预测新的或未知的数据
类的能力。 (2)模型强健性——在存在噪声及数据缺损的情况下,准确对
求知其类的数据进行分类的能力。 (3)描述的简洁性 ——针对分类发现模型对问题的描述能力,
对于决策人员来说,模型描述越简洁,也就越易于理解,同时 也就越受欢迎。 (4)计算复杂性——依赖于具体的实现细节,空间和时间的复 杂性将直接影响生成与使用模型的计算成本。 (5)处理规模性——在巨量数据的情况下构造模型的能力,以 及构造分类模型的精确度。
15
第一节 决策树算法原理
算法5.1 Build_decision_tree。根据所给的训练数据集D产生决策树。 输入:
节点t,训练数据集D 分裂方法Divide Method 输出:决策树 方法: (1)初始化树的根节点t; (2)在训练数据集D利用Divide Method来计算节点t的分裂准则; (3)if (节点t满足分裂准则) (4){则选择D中的t的属性项数据将t分为子节点t1,…,th; (5) Build_decision_tree(t1,D,DivideMethod); //递归调用生成子节点t1; (6) Build_decision_tree(t2,D,DivideMethod); //递归调用生成子节点t2; …… (h) Build_decision_tree(th,D,DivideMethod); 递归调用生成子节点th;
第一节 决策树算法原理 第二节 常用决策树算法 第三节 决策树剪枝 第四节 由决策树提取分类规则 第五节 实例
1
第一节 决策树算法原理
决策树是一个类似于流程图的树结构,其中每一个树节点可 以是叶节点,对应着某一类,也可以对应着一个划分,将该 节点对应的样本集划分为若干子集,每个子集对应一个节点。 对一个分类问题或规则学习问题,决策树的生成是一个从上 而下、分而治之的过程。 一棵典型的决策树如图5.4所示。它表示概念buys_computer, 即,它预测AllElectronics的顾客是否可能购买计算机。内部 节点用矩形表示,而树叶节点用椭圆表示。
m
I s1, s2,, sm pi log2 pi i 1
(5-8)
23
2.1 ID3算法
以属性A作为决策树的根,A具有v个值v1,v2,…,vv,它将D分为 v个子集{e1,e2,…,ev} ,设sir是子集er中类Ci的样本数,则子集 er中任意元祖属于类Ci的概率用pir表示,并用sir /|er|估计,那 么该子集er的期望信息是I(s1r,s2r,…,smr),以属性A为根分类后 所需的信息期望可以用公式(5-9)计算。
传统的数据分类操作通常有以下两个步骤: 模型训练阶段:根据给定的训练集,找到合适的映射 函数H:f(x)→C的表示模型。 使用上一步训练完成的函数模型预测数据的类别,或 利用该函数模型,对数据集中的每一类数据进行描述, 形成分类规则。
6
第一节 决策树算法原理
在第一步中是使用决策树来代表映射函数,首先利用训练 集建立决策树模型,找到训练集中各个属性之间的关系, 然后根据这个决策树模型对输入数据进行分类。
10
第一节 决策树算法原理
将上面的定义结合实际的决策树例子可得决策树图如下图5.6、 图5.7、图5.8所示,图中设X为分裂属性,xi是属性X的已知值。
X
收入
X<=x2
X>x2
<=52,000
>52,000
图5.6 按照分裂点划分而成的决策树图与相关的具体例子图 11
第一节 决策树算法原理
X
x1 x2 …… xi
相关文档
最新文档