CART算法

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 当α=0时候,整体树是最优的。 • 可以用递归的方式对树进行剪枝。
例一
对于例一,可以得到在CART模型下的完整的Tree sequence如下:
有40个节点的树有最小的训 练成本即训练误分率,这 是表现最好的树,但是在 标准误差内,节点35个的树 是最小的树
实验1
• 问题描述:wine的数据来自于UCI数据库,记录的 是在意大利同一区域上三种不同品种的葡萄酒的 化学成分,数据里有178个样本,每个样本含有13 个特征分量(化学成分),每个样本的类标签已 给。
实验1
• 通过CART算法对样本的特征分量进行分类,目的 是依据特征检验酒的类型。
实验1
• 实验结果
实验2
• 酵母数据集 yeast
实验2
• yeast = • Decision tree for classification • 1 if x3<0.435 then node 2 elseif x3>=0.435 then node 3 else CYT • 2 if x1<0.665 then node 4 elseif x1>=0.665 then node 5 else ME3 • 3 if x4<0.395 then node 6 elseif x4>=0.395 then node 7 else CYT • 4 if x4<0.55 then node 8 elseif x4>=0.55 then node 9 else ME3 • 5 if x2<0.625 then node 10 elseif x2>=0.625 then node 11 else ME1 • 6 if x8<0.315 then node 12 elseif x8>=0.315 then node 13 else CYT • 7 if x2<0.37 then node 14 elseif x2>=0.37 then node 15 else MIT • 8 if x1<0.555 then node 16 elseif x1>=0.555 then node 17 else ME3 • 9 class = MIT • 10 if x2<0.575 then node 18 elseif x2>=0.575 then node 19 else ME2 • 11 if x8<0.235 then node 20 elseif x8>=0.235 then node 21 else ME1 • 12 if x1<0.735 then node 22 elseif x1>=0.735 then node 23 else CYT • 13 if x1<0.685 then node 24 elseif x1>=0.685 then node 25 else NUC • 14 if x8<0.52 then node 26 elseif x8>=0.52 then node 27 else CYT • 15 if x2<0.495 then node 28 elseif x2>=0.495 then node 29 else MIT •…
4 8
NaN NaN
个数的时候的油耗多少。 4034
8
NaN
4166
8
NaN
3850
8
NaN
3563
8
15
3609
8
14
3353
8
NaN
3761
8
15



例1
分类树的生成
• 基尼指数 • 在分类问题中,假设有K个类,样本点属于第k的
概率为 pk ,则概率分布的基尼指数定义为:
Gini( p)
用户指定层数 • 节点中样本的个数少于用户指定的个数 • 不纯性指标下降的最大幅度小于用户指定的幅度。
例2
• 一个移动电话套餐调查的例子,数据是对于家庭是否接受 电话套餐的调查。830个样例中有126个 接受同意了,目标 是学会接受的家庭与未接受的区别。
例2
在上述例子中,根据选择同意与否作为根节点构造出树:
K k 1
pk (1
pk )
1
p K 2
k 1 k
• 对于给定的样本集合D,其基尼指数为:
2
Gini(D) 1
K k 1
Ck D
• Ck 是D中属于第k类的样本子集,K是类的个数。
分类树的生成
• 如果样本集合D根据特征A是否取某一可能值a分 割成D1和D2两个部分,即
D1 {(x, y) D : A(x) a}, D2 D \ D1
CART算法 分类与回归树
简介
• 1984年,Leo Breiman 提出了分类回归树(CART)的 思想。
• 分类与回归树是一种产生二叉决策树的方法。 • 决策树是一种基本的分类方法,首先对数据进行处理,
利用归纳方法生成可读的规则和决策树,然后用其对 数据进行分析。 • 如果目标变量是标称的,且具有两个以上的类别, CART会考虑将目标类别合成成两个超类别(双 化)。 ——分类树 • 如果目标变量是连续的,CART将会找出一组基于树 的回归方程来预测目标变量。 ——回归树
• Gini指数是介于0-1之间的指数,0代表完全相等, 1代表完全不相等
• 对比计算熵值,Gini计算更快,且能使用平衡相 等的成本来划分, 产生end cut的几率变小(end cut: 分割出一个大一个小的分割),即能达到相 对平衡的分割。
分类树的生成
• 停止条件 • 节点达到完全纯性,即全部完全分类完毕 • 数树的深度达到用户指定的深度,树的层数达到
xiRm
• 用平方误差最小准则求解每个单元上的最优输出 值。
• 易知,单元 RM 上的 cM 的最优值 cM 是 RM 上的所 有输出实例 xi 对应的输出 yi 的均值,即
cm average{yi : xi Rm}
回归树的生成
• 如何对输入空间进行划分? • 采用启发式方法。
wight cylinders
实验2
分的单元上的输出值。假设已将输入空间划分为 M个单元 R1, R2, , RM ,并且在每个单元 RM 上都有固 定的输出值 CM ,于是回归树模型可以表示为
M
f (x) CmIRm (x).
m1
回归树的生成
• 当输入空间的划分确定时,可以用平方误差准则 来表示回归树对训练数据的预测误差 ( yi f(xi))2
• 则在特征A的条件下,集合D的基尼指数定义为
Gini(D, A)
D1 D
Gini(D1)
D2 D
Gini(D2 ).
• 基尼指数Gini(D)表示集合D的不确定性,基尼指数 Gini(D,A)表示经A=a分割后集合D的不确定性。
分类树的生成
• 基尼指数值越大,样本集合的不确定性也就越大, 与熵相似
同意为1,未同意为0
例2
对于上述例子的根节点,计算分裂规则:
根节点Gini指标值为
即 0.00703
计算剩余属性的Gini指标值(表中为排名前5的属性)为:
则子节点选择增益最高的两个属性: TELEBILC 和 USERPRICE
CART剪枝
• CART采用的是后剪枝方法:根据一定方法,自下 而上剪枝。
简介
• 有两个步骤: • 1: 递归的划分自变量(分裂 split) • 2: 用验证数据进行剪枝(剪枝 )
回归树的生成
• 假设X与Y分别为输入和输出变量,并且Y是连续 变量,给定训练数据集 D {(x1, y1), (x2, y2 ), , (x N , yN ),}
• 考虑如何生成回归树。 • 一个回归树对应着输入空间的一个划分以及在划
MPG
例1
3504
8
18
3693
8
15
3436
8
18
• 给出了100组汽车数据, 3433
8
16
特征包括:重量,气缸
3449 4341
8 8
17 15
个数,目标为油耗 (MPG miles per
4354
8
14
4312
8
14
4425
8
14
gallon)。我们想预测
3850
8
15
பைடு நூலகம்给定的汽车重量和气缸
3090 4142
• 在剪枝中,计算子树的损失函数:
• T是任意子树,C(T)为对训练数据的预测误差(如 基尼指数),|T|为子树的叶节点个数,α>=0为参 数。参数α权衡训练数据的拟合程度与模型的复杂 度。
• 对固定的α,一定存在使得损失函数最小的子树, 将其表示为Tα(易验证这样的最优子树是唯一 的)。
• 当α大的时候,最优子树偏小;当α小的时候,最 优子树就偏大。
相关文档
最新文档