第6章 决策树分类算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
以具有不同的值域,当一个属性的值域为连续域时,该属性称为
连续属性,否则称为离散属性;C表示类别属性,C=(c1,c2, …,ck),即训练数据集有k个不同的类别。
在选择合适的分类算法后,通过训练数据集进行训练建立正确 的分类模型,如图6.3所示。
2. 评估分类模型的准确率
利用测试数据集评估分类模型的准确率。测试数据集中的元
通过比较,求得信息增益最大的描述属性为“年龄”,选取 该描述属性来划分样本数据集S,构造决策树的根结点,如图6.6 所示。
(3)求年龄属性取值为“≤30”的子树。此时的子表S1如表6.5所 示,描述属性集合为{收入,学生,信誉}。
描述属性 编号 1 2 8 9 11 收入 高 高 中 低 中 学生 否 否 否 是 是 信誉 中 优 中 中 优 否 类别属性 购买计算机
的不确定性;当有一个p(ci)=1时,此时C(X)最小即为0,呈现最
小的不确定性。
定义6.3 对于描述属性Ak(1≤j≤m),类别属性C的条件熵E(C,Ak)定义为:
sj E (C, Ak ) n j 1
v
i 1
u
sij
sij log2 sj sj
定义6.4 给定描述属性Ak(1≤k≤m),对应类别属性C的信息增益(information gain)定
是
① 选择数据集S1的划分属性。 求类别属性的无条件熵: E(购买计算机)=-(2/5)×log2(2/5)-(3/5)×log2(3/5)=0.97。 E(购买计算机,收入)=-[(1/1)×log2(1/1)]×(1/5)-[(1/2)×log2(1/2)+ (1/2)×log2(1/2)]×(2/5)-[(2/2)×log2(2/2)]×(2/5)=0.4。 G(购买计算机,收入)=0.97-0.4=0.57。 E(购买计算机,学生)=-[(2/2)×log2(2/2)]×(2/5)[(3/3)×log2(3/3)]×(3/5)=0。 G(购买计算机,学生)=0.97-0=0.97。 E(购买计算机,信誉)=-[(1/3)×log2(1/3)+(2/3)×log2(2/3)]×(3/5)[(1/2)×log2(1/2)+[(1/2)×log2(1/2)]×(2/5)=0.95。 G(购买计算机,信誉)=0.97-0.95=0.02。 通过比较,求得信息增益最大的描述属性为“学生”。选取该描 述属性来划分样本数据集S1。
描述属性 编号 9 11 收入 低 中 信誉 中 优 是 类别属性 购买计算机
此时构造部分决策树如图6.7所示。
(4)求年龄属性取值为“31~40”的子树。此时的子表S2如表 6.8所示,描述属性集合为{收入,学生,信誉},其中全部类别属性 值相同,该分支结束。
描述属性 类别属性 信誉 中 优 优 中 购买计算机
分类过程分为两个阶段:学习阶段与分类阶段,如图6.2所示。
6.1.2 分类过程的学习阶段
1. 建立分类模型
通过分析训练数据集,选择合适的分类算法来建立分类模型。 定义6.1 假设训练数据集是关系数据表S,每个训练样本由 m+1个属性描述,其中有且仅有一个属性称为类别属性,表示训 练样本所属的类别,其他为条件属性。属性集合表示为 X=(A1, A2,…,Am,C)表示,其中Ai(1≤i≤m)对应描述属性,可
定义6.2 类别属性C的无条件熵E(C)定义为:
E (C )
i 1
u
p (ci )log2 p(ci )
i 1
u
si s log2 i n n
其中,p(ci)为C=ci(1≤i≤u)的概率。注意,这里对数函数
以2为底,因为信息用二进制位编码,此时熵的单位为位或比特。 也可以以e为底,此时熵的单位为奈特。 实际上,E(C)反映了属性C中各个类别取值的平均自信息量, 即平均不确定性,当所有p(ci)相同时,此时E(C)最大,呈现最大
义为:G(C,Ak)=E(C)-E(C,Ak) 或者: Gain(C,Ak)=E(C)-E(C,Ak)
2. ID3算法
【例6.3】对于如表6.4所示的训练数据集S,给出利用S构造对应的 决策树的过程。
编号 1 2 3 4 5 6 描述属性 年龄 ≤30 ≤30 31~40 >40 >40 >40 收入 高 高 高 中 低 低 学生 否 否 否 否 是 是 信誉 中 优 中 中 中 优 类别属性 购买计算机 否 否 是 是 是 否
① 选择数据集S3的划分属性。 E(购买计算机)=-(3/5)×log2(3/5)-(2/5)×log2(2/5)=0.97。 E(购买计算机,收入)=-[(1/2)×log2(1/2)+(1/2)×log2(1/2)]×(2/5)[(2/3)×log2(2/3)+(1/3)×log2(1/3)]×(3/5)=0.95。 G(购买计算机,收入)=0.97-0.95=0.02。 E(购买计算机,学生)=-[(2/3)×log2(2/3)+(1/3)×log2(1/3)]×(3/5)[(1/2)×log2(1/2)+(1/2)×log2(1/2)]×(2/5)=0.95。 G(购买计算机,学生)=0.97-0.95=0.02。 E(购买计算机,信誉)=-[(3/3)×log2(3/3)]×(3/5)[(2/2)×log2(2/2)]×(2/5)=0。 G(购买计算机,信誉)=0.97-0=0.97。 通过比较,求得信息增益最大的描述属性为“信誉”,选取该描 述属性来划分样本数据集S3。
n为S中元组总数,si为bi出现的元组数。定义自信息量I(bi)如下:
I (bi ) log2 1 log2 p (bi ) p (bi )
显然,p(bi)=1时,I(bi)=0;p(bi)=0时,I(bi)=∞。如果说p(bi)
反映bi出现可能性,则自信息量I(bi)反映了bi出现的不确定性。
i
1 P(ui ) log2 P(ui ) P(ui ) i
信息论的基本概念
3、信源熵H(X) 信源熵是度量整个信源X整体的平均不确定性,也称先验熵。 4、条件熵H(X/Y) 条件熵是一个确定值,表示收信者在收到Y后,信源X仍然存在的不确定度, 也称为后验熵。 5、互信息量 熵差H(X)-H(X/Y)是不确定性的消除,即互信息才是接收端所获得的信息量。
利用该分类模型对新样本进行分类。否则,需要重新建立分类模
型。
6.1.3 分类过程的分类阶段
分类阶段的主要任务就是利用分类模型对未知类别的新样本进 行分类。如图6.4所示。
6.2 决策树分类
6.2.1 决策树
一棵决策树由3类结点构成:根结点、内部结点(决策结点)
和叶子结点。其中,根结点和内部结点都对应着要进行分类的
年龄为“≤30”的元组数为s1=5,其中类别属性取“是”时共有
s11=2个元组,类别属性取“否”时共有s21=3个元组。 年龄为“31~40”的元组数为s2=4,其中类别属性取“是”时共
有s12=4个元组,类别属性取“否”时共有s22=0个元组。
年龄为“>40”的元组数为s3=5,其中类别属性取“是”时共有 s13=3个元组,类别属性取“否”时共有s23=2个元组。
② 对于数据集S1,求学生属性取值为“否”的子树。此时的 子表S11如表6.6所示,其中全部类别属性值相同,该分支结束。
描述属性 编号 1 2 8 收入 高 高 中 信誉 中 优 中 否 类别属性 购买计算机
③ 对于数据集S1,求学生属性取值为“是”的子树。此时的子 表S12如表6.7所示,其中全部类别属性值相同,该分支结束。
所以,E(购买计算机,年龄)=-[(2/5)×log2(2/5)+(3/5)×log2(3/5)]×(5/14)[(4/4)×log2(4/4)]×(4/14)-[(3/5)×log2(3/5)+(2/5)×log2(2/5)]×(5/14)=0.69。 则:G(购买计算机,年龄)=0.94-0.69=0.25。 同样:E(购买计算机,收入)=-[(3/4)×log2(3/4)+(1/4)×log2(1/4)]×(4/14)[(4/6)×log2(4/6)+(2/6)×log2(2/6)]×(6/14)[(2/4)×log2(2/4)+(2/4)×log2(2/4)]×(4/14)=0.91。 G(购买计算机,收入)=0.94-0.91=0.03。 E(购买计算机,学生)=-[(6/7)×log2(6/7)+(1/7)×log2(1/7)]×(7/14)[(3/7)×log2(3/7)+(4/7)×log2(4/7)]×(7/14)=0.79。 G(购买计算机,学生)=0.94-0.79=0.15。 E(购买计算机,信誉)=-[(6/8)×log2(6/8)+(2/8)×log2(2/8)]×(8/14)[(3/6)×log2(3/6)+(3/6)×log2(3/6)]×(6/14)=0.89。 G(购买计算机,信誉)=0.94-0.89=0.05。
第6章 决策树分类算法
分类过程 决策树分类 SQL Server决策树分类 电子商务数据的决策树分类
6.1 分类过程
6.1.1 分类概述
分类是一种重要的数据挖掘技术。分类的目的是建立分类 模型,并利用分类模型预测未知类别数据对象的所属类别。 分类任务就是通过学习得到一个目标函数 f,把每个数据集x映 射到一个预先定义的类别y,即y=f(x),如图6.1所示。这个目标 函数就是分类模型。
数为si。
对于描述属性Ak(1≤k≤m),它的不同取值个数为v,其值域 为(a1,a2,…,av)。在类别属性C取值为ci(1≤i≤u)的子区域
中,描述属性Ak取aj(1≤j≤v)的元组个数为sij。
定义6.1 对于某个属性B,取值为{b1,b2,…,bk},它将训练 数据集S中所有元组分为k个组,p(bi)为bi出现的概率,p(bi)=si/n,
属性集中的一个属性,而叶子结点是分类中的类标签的集合。
一棵决策树
建立一棵决策树,需要解决的问题主要有:
如何选择测试属性:测试属性的选择顺序影响决策树的结构甚至 决策树的准确率。 如何停止划分样本:从根结点测试属性开始,每个内部结点测试 属性都把样本空间划分为若干个子区域,一般当某个子区域的样 本同类或空时,就停止划分样本。有时也通过设置特定条件来停 止划分样本,例如树的深度达到用户指定的深度,结点中样本的 个数少于用户指定的个数等。
编号
3 7 12 13
收入 高 低 中 高
学生 否 是 否 是
是
此时构造部分决策树如图6.8所示。
来自百度文库
(5)求年龄属性取值为“>40”的子树。此时的子表S3如表6.9 所示,描述属性集合为{收入,学生,信誉}。
描述属性 编号 4 5 10 6 14 收入 中 低 中 低 中 学生 否 是 是 是 否 信誉 中 中 中 优 优 否 是 类别属性 购买计算机
组或记录称为测试样本,与训练样本相似,每个测试样本的类别 是已知的。 在评估分类模型的准确率时,首先利用分类模型对测试数据 集中的每个测试样本的类别进行预测,并将已知的类别与分类模 型预测的结果进行比较,然后计算分类模型的准确率。 分类模型正确分类的测试样本数占总测试样本数的百分比称为 该分类模型的准确率。如果分类模型的准确率可以接受,就可以
信息论的基本概念
1、信息是用来消除随机不确定性的度量。信息量的大小可由 所消除的不确定性大小来计量。 信息量的数学定义:
I (ui ) log2 1 log2 P(ui ) P(u i )
2、信息熵是信息量的数学期望,是信源发出信息前的平均 不确定性,也称先验熵,信息熵的数学定义为:
Ent(U ) P(ui ) log2
7
8 9 10 11 12 13 14
31~40
≤30 ≤30 >40 ≤30 31~40 31~40 >40
低
中 低 中 中 中 高 中
是
否 是 是 是 否 是 否
优
中 中 中 优 优 中 优
是
否 是 是 是 是 是 否
(1)求数据集S中类别属性的无条件熵。 E(购买计算机)=-(9/14)×log2(9/14)+(5/14)×log2(5/14)=0.94。 (2)求描述属性集合{年龄,收入,学生,信誉}中每个属性的 信息增益,选取最大值的属性作为划分属性。 对于“年龄”属性:
2019/4/2
6.2.2 建立决策树的ID3算法
1. 信息增益
从信息论角度看,通过描述属性可以减少类别属性的不确定性。
不确定性可以使用熵来描述。
假设训练数据集是关系数据表S,共有n元组和m+1个属性,所 有属性取值为离散值。其中A1、A2、…、Am为描述属性或条件属性, C为类别属性。类别属性C的不同取值个数即类别数为u,其值域为 (c1,c2,…,cu),在S中类别属性C取值为ci(1≤i≤u)的元组个