经典算法CART.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
经典算法CART

分类与回归树算法(CART) 分类与回归 分类 ——划分离散变量 回归——划分连续变量 什么是CART welcome to use these PowerPoint templates, New Content design, 10 years experience 分类与回归树 CART采用一种二分递归分割的技术,将当前 的样本集分为两个子样本集,使得生成的决 策树的每个非叶子节点都有两个分支。 CART算法生成的决策树是结构简洁的二叉树。 分类回归树是一棵二叉树,且每个非叶子节点都有两个孩子,所以对于第一棵子树其叶子节点数比非叶子节点数多1。 上例属性有8个,每个属性又有多少离散的值可取。在决策树的每一个节点上我们可以按任一个属性的任一个值进行划分。比如最开始我们按: 1)表面覆盖为毛发和非毛发 2)表面覆盖为鳞片和非鳞片 3)体温为恒温和非恒温 等等产生当前节点的左右两个孩子。 按哪种划分最好呢? 有3个标准可以用来衡量划分的好坏:GINI指数、双化指数、有序双化指数。 体温为非恒温时包含爬行类3个、鱼类3个、两栖类2个,则 体温为非恒温时包含爬行类3个、鱼类3个、两栖类2个,则 所以如果按照“体温为恒温和非恒温”进行划分的话,我们得到GINI的增益(类比信息增益): 最好的划分就是使得GINI_Gain最小的划分。 终止条件 一个节点产生左右孩子后,递归地对左右孩子进行划分即可产生分类回归树。这里的终止条件是什么?什么时候节点就可以停止分裂了?直观的情况,当节点包含的数据记录都属于同一个类别时就可以终止分裂了。这只是一个特例,更一般的情况我们计算χ2值来判断分类条件和类别的相关程度,当χ2很小时说明分类条件和类别是独立的,即按照该分类条件进行分类是没有道理的,此时节点停止分裂。注意这里的“分类条件”是指按照GINI_Gain最小原则得到的“分类条件”。 如何确定叶子节点的类? 前面提到Tree-Growth终止的方式有2种,对于第一种方式,叶子节点覆盖的样本都属于同一类,那么这种情况下叶子节点的类自然不必多言。对于第二种方式,叶子节点覆盖的样本未必属于同一类,直接一点的方法就是,该叶子节点所覆盖的样本哪个类占大多数,那么该叶子节点的类别就是那个占大多数的类。 决策树 ?如何划分训练记录? ?如何表示属性测试条件? ?如何确定最佳划分? ?如何构建测试条件效果最好的树? 如何确定最佳划分 贪婪法:根据子女结点类分布的一致性程度来 选择最佳划分 度量结点的不纯度 ?Gini ?熵 ?误分类误差 对于一个给定的结点t: 是结点t中样本输出取类别j的概率 最大值:(1 - 1/nc),记录在所有类中等分布 最小值:0,所有记录属于同一个类 不纯度度量——GINI 如何划分训练记录 ?根据属性类型的不同: ?标称属性 ? 序数属性 ?连续属性 ?根据分割的数量 ?二元划分 ?多元化分 如何表示测试条件 选择最佳分割点 数值型变量 对记录的值从小到大排序,计算每个值作为临界点产生的子节点的异质性统计量。能够使异质性减小程度最大的临界值便是最佳的划分点。 分类型变量 列出划分为两个子集的所有可能组合,计算每种组合下生成子节点的异质性。同样,找到使异质性减小程度最大的组合作为最佳划分点。 有房 无房 否 3 4 是 0 3 Gini(t1)=1-(3/3)2-(0/3)2=0 Gini(t2)=1-(4/7)2-(3/7)2=0.4849 Gini=0.3×0+0.7×0.4898=0.343 单身 已婚 离异 否 2 4 1 是 2 0 1 单身或已婚 离异 否 6 1 是 2 1 单身或离异 已婚 否 3 4 是 3 0 离异或已婚 单身 否 5 2 是 1 2 Gini(t1)=1-(2/4)2-(2/4)2=0.5 Gini(t2)=1-(0/4)2-(4/4)2=0 Gini(t3)=1-(1/2)2-(1/2)2=0.5 Gini=4/10×0.5+4/10×0+2/10×0.5=0.3 Gini(t1)=1-(6/8)2-(2/8)2=0.375 Gini(t2)=1-(1/2)2-(1/2)2=0.5 Gini=8/10×0.375+2/10×0.5=0.4 Gini(t1)=1-(3/6)2-(3/6)2=0.5 Gini(t2)=1-(4/4)2-(0/4)2=0 Gini=6/10×0.5+4/10×0=0.3 Gini(t1)=1-(5/6)2-(1/6)2=0.2778 Gini(t2

文档评论(0)

119220 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档