决策树的经典算法_ID3与C4_5

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
决策树的生成过程也就是不确定性程度不断降低的
过程。
( 2)计算属性 A, 每个取值的信息期望 I(A = aj ), j=
1, 2, !, m
设: A 为数据集的某一属性, A 的取值为: a1, a2, !,
am ,
dj: A = aj的观测数,
dij: 当 A = aj 时, 对应的属于子集 D j的观测数, 实例属
黄 文 1, 2
( 1. 西南石油大学 理学院, 四川 成都 610500; 2. 西南财经大学 统计学院, 四川 成都 610074)
摘 要 决策树各类算法, 各有特点, 其中 J. R. Qu in lan提出的 ID3算法最具代表性, 在国际上的影响 也最大, C4. 5算法就是在 ID3算法基础上进行改进得到的。通过对两种算法详细描述, 阐明了决策树算 法步骤及其主要思想。
标准就能够克服这一问题。 C4. 5算法还针对属性取值为 连续数据进行了处理, 弥补了 ID3算法只能处理离散的属 性数据这一缺陷。
2 ID3算法与 C4. 5算法的描述
2. 1 ID3算法
1986年 Qu in lan提出的 ID3算法是基于决策树学习
中最重要的一种算法, 最具代表性, 在国际上的影响也最
量进行离散化处理形成决策树的训练集 (如果没有连续取
值的属性则忽略 ); ( 1)根据原始数据, 找到 该连续型属性 的最小取值
a0、最大取值 an+ 1; ( 2)在区间 [ a , b]内插入 n 个数值等分为 n + 1 个小
区间; ( 3) 分 别 以 ai, i = 1, 2, !, n 为 分 段 点, 将 区 间
决策树技术虽然有许多优点, 但也存在着不稳定的缺 点, 即决策树带来了较大的变动。模糊集合的融通性使人 们利用模糊逻辑来解决决策树的这一缺点并取得了不错 的效果。
模糊决策树的算法步骤: [ 3] S tep1. 对输出结果进行模糊化, 并将输出结果分类; S tep2. 构造初始的输入属性的隶属函数; S tep3. 构造初始的决策树; S tep4. 对决策树进行简化;
a0, an+ 1 划分为两个子区间:
[ a0, aj ] , [ ( ai+ 1, an+ 1 ) ]对应该连续型的属性变量的 两类取值, 有 n 种划分方式;
S tep2. 计算每个属性的信息增益和信息增益率;
( 1)计算属性 A 的信息增益 Gain (A ) 信息增益 Ga in(A )的计算和 ID3算法中的完全一致;
于第 i类 (Di )的条件概率,
记为 p ij:
pij =
dij dj
,
k

I(A =
aj ) =
-

i= 1
p
ij
logp2ij
( 2)
( 3)计算属性 A 信息熵 E ntropy(A )
m
En tropy (A )
=

j= 1
pj #
I(A =
aj )
( 3)
其中:
dj 为 A =
aj 的观测数,
决策树的简化过程: 对决策树上所有非叶节点 A 进行计算分析。从树的 根节点开始, 计算每个分枝节点被剪也即被叶替代后的误
17
2007年第 5期
黄 文1, 2: 决策树的经典算法: ID 3与 C 4. 5
判率。采用训练数据集作为测试集, 取置信区间的上限作
为对误判率的估计。给定一个显著性水平度 ( C4. 5算
在 ID3算法的基础上演变, Qu in lan. J. R 在 1993 年提 出了 C4. 5算法。这种算法相比 ID3算法, 其计算复杂度 更低, 计算效率得到了提高。它对于 ID3算法的重要改进 是使用信息增益率来选择节点属性。理论和实验表明, 采 用信息增益率比采用信息增益更好, 以信息增益最大为标 准, 更倾向于选择分类较多的属性, 因为分类较多的属性 对应的信息增益较大, 而采用信息增益率作为选取节点的
定程度最大, 则对应的期望信息: l= - 2 ∃0. 5# log02. 5 = 1 若: 训练数据集属于这两类的概率均分别为 0. 2、0. 8,
* [ 收稿日期 ] 2007% 06% 14 [ 作者简介 ]黄 文 ( 1981% ), 女, 四川大竹人, 助教, 2006级硕士研究生, 主要从事金融数量分析及智能金融研究。
的分类提供最大信息量的变量, 由此可以确定决策树从根
到枝, 再从枝到叶的结构。决策树生成的过程也就是对训
练数据集进行分类的过程。
3 决策树的简化
从前文对 ID3和 C4. 5算法的描述中可以看到这种算 法使用的分类准则是以信息论的概念为基础的, 而信息论 也正在不断的发展完善。但许多分类规则都存在一个普 遍的问题 % 过度拟合, 由训练集生成的决策树对训练集分 类的结果很好, 但用它来对未参与决策树生成过程的新的 数据集进行分类得到的结果, 可能并不理想。因此有必要 对生成的初始决策树进行简化修正, 也称为剪枝, 来得到 更一般的分类规则, 剪枝后得到的新的决策树可能会使得 它对训练集分类的误判率增大, 但同时却能减少对新的数 据集分类的误判率。
关键词 ID3; C4. 5; 信息增益; 信息增益率; 剪枝
[中图分类号 ] O24
[文献标识码 ] A
[ 文章编号 ] 1008- 4886( 2007) 05- 0016- 03
1 ID3算法和 C4. 5算法的提出
决策树 起源 于概 念学 习 系统 CLS ( concep t learn ing system )。 CLS最早由 H un.t E. B 等人于 1966 年提出, 并 首次用决策树进行概念学习, 后来的许多决策树学习算法 都可以看作是 CLS算法的改进与更新。 CLS的主要思想 是从一个空的决策树出发, 通过添加新的判定节点来完善 原有的决策树, 直到新的决策树能够正确地将训练实例分 类为止。
S tep5. 在剪枝的过程中修正各个属性的隶属函数; S tep6. 从决策树中提取分类规则。 由以上六个步骤, 就能够用训练数据 ( train ing data)建 立起对应的模糊决策树, 树的结构也能清楚地反映出决策 规则, 因此可以用它来对新的数据进行预测分析。 从以上模糊决策树的算法过程可以看出, 这种算法仍 然沿用了 ID3算法与 C4. 5算法的思路, 只是在具体的数 据处理以及分类描述时引入了隶属函数, 对分类进行了模 糊化。因此, 理解和把握好 ID 算法与 C 4. 5 算法, 对于实 际工作中如何根据数据类型的特点及数据集的大小, 选择 合适的算法, 提高决策树的预测精度, 以获得更好的分类 效果, 有着重要的理论与现实意义。 决策树算法已经有了广泛的应用, 并且已经有了许多 成熟的系统, 这些系统广泛应用于各个领域, 如语音识别、 医疗诊断、客户关系管理、模式识别、专家系统等。决策树 各类算法, 各有优缺点, 在实际工作中, 必须根据数据类型 的特点及数据集的大小, 选择合适的算法。但是, 如何发 掘更好的数据预处理方法以支持决策树方法; 如何提高决 策树的预测精度, 以获得更好的分类效果; 如何将决策树 与多种方法交叉结合; 如何寻找更好的简化决策树方法; 如何将决策树技术用更好的软件方式实现等问题, 都在等 待我们去研究。
pj =
dj d
( 4)计算属性 A 的信息增益 G ain(A )
属性 A 对于分类提供的信息量, 叫做属性 A 的信息增
益, 记为 G ain(A ), 则:
Ga in (A ) = En tropy (A ) - I
( 4)
信息增益 Ga in (A )越大, 则属性 A 对于分类提供的信
息量越大, 则选择属性 A 之后对于分类的不确定程度越
法中默认 = 0. 25 ), 显然错误的总数服从二项分布, 则
有:
P
|p - pe | pe ( 1- pe )
/N
>
u1-
=
( 6)
其中: N 为被修剪的子树下的实例总数, E 为修剪后出现
的错误实例数,
p
=
E N
是实际观测到的误判率, pe 为估计的误判率。
令 z= u1- , 取置信区间的上限作为这个节点的误判 率的估计, 则该节点的误判率的计算公式:
2. 2 C4. 5算法 [2] C4. 5算法是构造决策树分类规则的一种算法, 它是 ID3 算法的扩展。 ID3 算法只能 处理离散型的描述性属
性, 而 C4. 5算法还能够处理描述属性取值为连续型的情 况。选取节点的标准是最大信息增益率, 具体的算法步骤
如下: S tep1. 对数据源进行数据预处理, 将连续型的属性变
小。因此将计算出的各个属性的信息增益对比, 选择信息
增益最大的属性作为根节点。
S tep2. 由根节点属性的不同取值建立分支; S tep3. 采用递归 ( R ecu rs ively)的方法, 对各分支的子 集仍然选择信息增益最大的属性作为子节点
!!
直到所有的子集包含同一类别的数据为止。
由以上步骤就能构造一棵决策树, 可以用它来对新的 样本进行分类。
* 对函数以 2为底, 其原因是信息用二进制编码。
16
黄 文 1, 2: 决策树的经典算法: ID 3与 C4. 5
2007年第 5期
这时的不确定程度比概率均为 0. 5 小, 则对应的期望信 息: I = - ( 0. 2# log02. 2 + 0. 8# log02. 8 ) = 0. 72
第 17卷第 5期
四川文理学院学报 (自然科学 )
V o.l 17 No. 5 S ichuan Un iversity of Arts and Science Journal( N atural Sc ience Ed ition)
2007年 9月 Sep. 2007
*
决策树的经典算法: ID3与 C4. 5
pe =
p+
z2 2N
+
z
p N
-
1+
z2 N
p2 N
+
z2 4N 2
( 7)
其中:
p=
E N
为观测的误判率,
pe
为估计的误判率。
设定期望误判率的最大值为 C, 若剪枝后估计的误判
率 pe 高于 C 时, 则保留原来的分枝, 否则剪去该分枝, 用
叶片代替。
4 决策树分类算法的新发展 % 决策树技术 和模糊集合原理 的结合
得到决策树的根节点。
S tep3. 根节点属性每一个可能的取值对应一个子集,
对样本子集递归地执行以上 S tep2过程, 直到划分的每个
子集中的观测数据在分类属性上取值都相同, 生成决策
树。
S tep4. 根据构造的决策树提取分类规则, 对新的数据 集进行分类。
类似算法的主要思想都是, 逐步找出能够为各个层次
大。有大量的学者围绕该算法作了广泛的研究, 并提出了
多种改进算法。下面对 ID3算法进行详细的叙述。
决策树的生成过程也就是一个树的节点的选择过程:
S tep1. 计算所有属性的信息增益, 选择信息增益最大
的属性作为根节点;
( 1)计算给定的训练数据集分类的信息期望 I
记: 训练数据集为 D, 分为 k 类, 也即 k 个 子集: D1,
( 2)计算属性 A 的信息增益率 Ga in- Ra tio(A )
Ga
in-
Ra
tio (
A
)
=
G
ain( I(A
A )
)
( 5)
对于取值连续 的属性而言, 分别计算以 ai ( i = 1, 2, !, n ) 为分割点, 对应分类的信息增益率, 选择最大信息
增益率对应的 ai, 作为该属性分类的分割点。 选择信息增益率最大的属性, 作为当前的属性节点,
D2, !, D k, d : 数据集中观测的总数,
d i: Di中的观测数, 则一个实例属于第Biblioteka Baidui类的概率:
pi
=
d1 d
( i=
1,
2,
!,
k ),
此时, 训练数据集分类的信息期望:
k
I=
-

i= 1
p
i
#
logp2i
*
( 1)
I表示把训练数据集 D, 划分为 k类的不确定性程度。
设训练数据集分为两类: D 1, D2, 若: 训练数据集属于这两类的概率均为 0. 5, 这时的不确
Qu in lan于 1986 年提出的 ID3 ( Iterative D ichotom izer 3)算法是决策树算法的代表, [ 1]在此之后的多种决策树算 法都是在 ID3算法的基础上加以改进而实现的。它在选 择决策树各级节点上的属性时, 其选择标准是选用最大信 息增益的属性, 这就使得在每一个非叶节点上进行测试 时, 能获得关于被测试记录最大的类别信息。具体方法 是: 检测所有的属性, 选择信息增益最大的属性作为决策 树节点, 由该属性的不同取值建立分支, 再对各分支的子 集递归地调用该方法建立决策树节点的分支, 直到所有子 集仅包含同一类别的数据为止。最后找出属性和类别间 的关系, 得到一棵决策树, 用它来对新的样本进行分类。 ID3 算法具有理论清晰、方法简单、学习容易、分类速度快 的优点。但 ID3算法只能处理属性取值为离散的数据。
Q u inlan提出 的 剪 枝方 法 是 一种 悲 观 错误 修 剪 法 ( Pess mi istic E rror Prun ing), 因为用生成决策树的训练数据 集来检验误判率时, 实际上对错误的估计过于乐观了, 因 为决策树是由训练数据集生成的, 所以, 在多数情况下决 策树与训练数据集是符合的。但把决策树用于对训练数 据以外的数据进行分类时, 很明显这时的错误率将大大增 加。基于以上原因, Qu in lan 借用二项分布对训练数据中 的误判率加以修正, 以得到更为符合实际的错误 率。显 然, 与修正前的错误率相比, 修正后的错误率增大了不少, 因此认为它对错误率的看法是 & 悲观 ∋的。下面我们进一 步讨论决策树的剪枝 (简化 )过程。
相关文档
最新文档