分类和回归树CART

分类和回归树CART
分类和回归树CART

分类和回归树CART

分类和回归树 (CART )

李保坤老师

西南财经大学

统计学院本节内容提要CART 算法关于混杂度 -- 基尼指数 -- 二分指数剪枝CART 对缺失值的处理 CART 算法分类和回归树(Classification and

Regression Trees ,CART )有时被写作 C&RTBreiman, L., J. H.

Friedman, R. A. Oshen,and C. J. Stone, 1984. Classification andregression

trees. Belmont, CA: Wadsworth.CART 算法 ? 概览二叉树算法把数据递进划分为两个子集 , 每一个子集

的记录会更纯这一算法把误分类代价、先验概率、成本

- 复杂性剪枝CART 算法

1. 基本思想是在每一个节点选择一个划分 ,

使得其每一个子集 ( 子节点 ) 的数据比父

节点的数据更“ 纯” 一些。CART 用一个混杂

度测度it 来测量一个划分的节点数据的混

杂度。CART 算法

2. 如果在节点t 的一个划分 s 把pL 比率的数据

送到左子节点tL , 把pR 比率的数据送到右子

节点tR , 在节点t 的划分 s 降低的混杂度被定

义为 :CART 算法3. CART 树的生长始于节点即, 全部训练数据 t1, 在所有可能的划分中选择一个划分

s* , 该划分导致混杂度的最大降低。

s* 把节点t1 划分为t2 和 t3 两个子节点。CART 算法

4. 以上的划分搜索过程为每一个子节点重复

使用。

5. 当所有的终止标准被满足后生长过程停止。混杂度的几个测度目标变量是类别变量 ( 名义 ) ? 基尼指数 ( Gini Index ) ? 二分指数 (Twoing Index )目标变量是类别变量 ( 有

序 ) ? 有序二分指数 (Ordered Twoing )目标变量是连续变量 ? 最小平方偏差 (Least-Squared Deviation )混杂度 : 基尼指数如果一个数据集合T 的观测记录里包括n

个类别 , 基尼指数的定义如下 : 其中是节点t 的类别j 的相对比例混杂度 : 基尼指数如果一个数据集合T 被划分

为两个子集合T

1

和T , 对应的记录数量分别是N 和N , 划分

2 1 2

split 的基尼指数被定义为 :实际上 , 这是两个子集的基尼指数的加权

平均值混杂度 : 基尼指数基尼指数的最大值是1-1/k , 在

此k 是类别的

数量。当观测记录在k 个类别上平均分布时

基尼指数就会最大基尼指数的最小值的0 , 这是当所有的观测

记录都属于某一个类别时会发生的情况混杂度 : 基尼

指数一个分类成功的输入变量会把观测记录中的某一个类别在节点中占多数输入变量在这方面越成功 , 从根节点到子

节点的基尼指数的变化量就越大基尼指数的变化量对

于划分s , 在节点t , 基尼指数的变化量可

以按以下公式计算 :能实现最大变化量的划分s ( 即在某输入变

量某个值上把节点里观测记录划分到两个

子节点 ) 将被选用关于混杂度示例后面的 3 个片子由Dr. Hyunjoong Kim, Dept

of Statistics, University of Tennessee 制作混杂度测量 : 基尼

指数

数据

混杂度

一个划分划分的优度

基尼指数的变化量:数据

混杂度

另一个

划分

是更好

的划分基尼指数的广义公式其中

Ci|j 把类别j 的记录分类到类别i 的错误分类代价πj 类别j 的先验值基尼指数划分的特点基尼指数关注的目标变量里面最大的类 , 它

试图找到一个划分把它和其它类别区分开

来。完美的系列划分将会得到k 个纯粹的子节点 ,

每一个节点对应目标变量的一个类别。如果误分类代价因素被加入 , 基尼指数试图

把代价最大的类别区分开来。二分指数划分的特点二

分指数首先把目标变量的几个类别划分为

2 个超类别 ( 或群 ) , 每个群加起来接近数

据的一半。二分指数然后搜寻把这两个超级群分成子节

点的划分。二分指数的划分方法对于在节点t 的划分s , 二分指数的改进量为 :产生两个子节点间最大差异的划分s 被选择。基尼指数对二分指数当目标变量的类别数很小时 ,2 to 4 , 使用

基尼指数。当目标变量的类别数较大时 ,4 以上 , 使用二分指数。注意当使用二分指标时 , 误分类代价因素

能使用。CART 终止条件一个节点中的所有记录其预测变量值相同树的深度达到了预先指定的最大值节点的记录量小于预先指定的最小节点记录量节点是纯节点 , 即所有的记录的目标变量值相同混杂度的最大下降值小于一个预

先指定的值剪枝在终止条件被满足 , 划分停止之后 , 下一步

是剪枝 : ? 给树剪枝就是剪掉“ 弱枝” , 弱枝指的是在验证数据上误分类率高的树枝 ? 为树剪枝会增加训练数据上的错误分类率 ,

但精简的树会提高新记录上的预测能力 ? 剪掉的是最没有预测能力的枝CART 对缺失值的处理一个代理划分将被用于处理预测变量中的缺

失值假定X* 是节点t 的最佳划分s* 所在的预测输

入变量 , 代理划分s 使用另外一个输入变量X ,

s 在t 节点的划分效果最接近s* 。CART 对缺失值的处理如果要预测一个新记录的目标变量值 , 它在

节点t 的X* 对应的输入变量上有缺失值 , 预

测将使用代理划分s 如果该新记录在X 变量上

没有缺失值

基于分类回归树的个人信用评价模型

基于分类回归树的个人信用评价模型 孟昭睿 (中国建设银行股份有限公司河南总审计室,河南郑州450003) 摘要:分类回归树作为一种基于统计理论、计算机实现的非参数识别技术,在个人信用评估领域有着良好的应用前景。文章主要探讨如何利用分类回归树建立个人信用评价模型。实证结果表明:该模型对个人信用评价可取得较好的效果。 关键词:分类回归树;信用评价;决策树 中图分类号:TP311文献标识码:A 文章编号:1006-8937(2009)02-0076-02 On the individual credit evaluation mode based on the assoeted recursive tree MENG Zhao-rui (Henan General Accounting Office,China Construction Bank Corporation,Zhengzhou,Henan 450003,China ) Abstract :The classified return tree takes one kind the non-parameter recognition technology which based on the statistical theory,the computer realizes,has the good application prospect in individual credit appraisal domain.How does the article mainly discuss establishes individual credit status model using the classified return tree.The real diagnosis result indicated:This model may make the good progress to individual credit status.Keywords :assoeted recursive tree;credit evaluation;decision tree 1引言随着金融的全球化趋势和银行业竞争的加剧,如何有 效地控制和防范商业银行的信贷风险正在受到越来越广泛的重视。如何在扩大信贷规模的同时准确分析客户的信用风险状况,确立合理的个人信贷标准是银行进行市场竞争的有力武器。目前,国内商业银行过去制定的个人消费信贷评价体系大多是基于专家或信贷员的经验,主观地设定各指标评分和权重。根据内部调查,许多银行反映其个人信用评估部分指标的设置和权重分配不合理,不能很好地判别申请客户的信用状态。建立科学有效的信用评价模型,对促进个人消费信贷业的发展,降低银行个人信贷风险无疑有着十分重要的作用。 2分类回归树原理 作为一种自动预测方法的分类回归树CART 不仅可以同时利用连续特征和离散特征来进行训练,并且也可以模拟非线性的关系。利用分类回归树可以自动探测出高度复杂数据的潜在结构,重要模式和关系。探测出的知识又可用来构造精确和可靠的预测模型,应用于分类客户、保险诈骗和信用风险管理。从技术上来讲,CART 技术可称为二元回归分解技术。CART 是一种有监督学习算法,即用户在使用他进行预测之前,首先需要提供一个训练样本集对CART 进行构建和评估,然后才能使用。 2.1构建分类树 构建分类树T max ,的过程,即为树的每个节点选择拆分规 则的过程。具体过程如下:所有的数据样本都属于树根节点t ,寻找第一个拆分规则即选择整棵树根节点的分支条件时,首先从第一个预测变量开始扫描,计算并记录样本数据中该变量的每一个取值或每两个相邻数据的中值作为拆分阀值时节点的不纯度函数下降值,然后扫描第二个预测变量,同样计算并记录该变量的各个不纯度函数下降值,直至扫描完最后一个预测变量,计算并记录完所有的拆分阀值对应的不纯度下降值。最后找出不纯度函数下降值最大时所对应的拆分变量和拆分阀值,将其定义为树根节点的拆分变量和拆分阀值。此时,已经将整个样本数据集分成两个子集,对于每一个子集,重复上述寻找树根节点拆分规则的扫描过程,寻找每个子集所属子树的根节点的拆分规则。 假设为寻找左子树的根节点t L 的拆分规则,也是从第一个预测变量开始扫描,计算并记录属于左子树的样本数据集中该变量的每一个取值或每两个相邻数据的中值作为拆分阀值时节点的不纯度函数下降值,直至扫描完最后一个预测变量,并找出使节点t L 不纯度函数下降值最大时所对应的拆分变量和拆分阀值,将其定义为左子树根节点的拆分变量和拆分阀值。同理寻找右子树的根节点拆分规则,则每棵子树又被拆分成两棵更小的子树。 整棵树的建立过程就是一个寻找更小子树根节点的拆分规则的过程。当节点满足以下条件之一时停止拆分操作。其一,节点很小:分支后的叶节点的样本数小于给定的值N min (一般Nmin=5, 有时为1)。其二,纯节点:分支后的叶节点中的样本属于同一个类。其三,空属性向量集:无属性向量 收稿日期:2008-12-28 作者简介:孟昭睿(1970),女,中国建设银行股份有限公司河南总审计 室,中级会计师中级经济师. 第28卷第2期V ol.28No.2 企业技术开发 TECHNOLOGICAL DEVELOPMENT OF ENTERPRISE 2009年2月Feb.2009

C A R T 分 类 与 回 归 树

决策树(ID3 C4.5 CART)原理+推导+代码 文章目录简介初识决策树特征选择信息增益信息增益比ID3C4.5决策树剪枝CART 分类与回归树简述:回归树的生成分类树的生成CART剪枝优缺点决策树ID3、C4.5算法CART分类与回归树适用场景代码决策树模型,自己总结了很久,也认为比较全面了。现在分享一下自己总结的东西。 这里面我只捡精炼的说,基本上都是干货,然后能用人话说的,我也不会疯狂排列数学公式。 初识决策树 决策树其实是用于分类的方法,尤其是二分类就是是非题,不过当然不限于二分,然后CART可以应用于分类和回归。其中对于回归的处理让我很是佩服。 树形结构模型,可以理解为if-else集合。 三个步骤 特征选择 生成决策树 节点和有向边组成。 结点包括内节点(一个特征和属性)叶子节点(一个类) 先看一下模型图 每个有向边都是一条规则,节点出度规则是完备的。 算法基本流程

根据训练集生成决策树。 根据测试集剪枝。 特征选择 特征选择我们有一个潜意识里的认识,就是希望选取对于分类有帮助的特征。 那么这里采用信息增益的指标来判断。 什么是信息增益? 信息增益 什么是熵 用来度量随机变量的不确定性的,熵越大,不确定性越高。 所以我们得到了信息增益的算法: 根据上述方法我们可以得到一个属性的排序。 信息增益比 根据上面的公式其实是更有益于选择那些属性值多的属性,这是需要改进的,所以我们增加一个分母。 得到信息增益比的定义: 知道了我们如何选择特征了,接下来就是生成决策树的算法了,一共有两种,先介绍一下ID3。 简单来说就是根据信息增益从大到小进行排序来选择结点。 算法简述: 从根节点开始,选择信息增益最大的属性来划分children结点。 然后选择每个孩子结点来作为根节点,再根据信息增益选择下一个属

分类回归树

1.1.1. 分类回归树 分类回归树(Classification and regression trees,CART)是决策树的一种,它是基于吉尼(Gini)指标(并且是最简化的吉尼指标)的方法。 在OpenCV 下函数icvCreateCARTStageClassifier 实现层强分类器的构建,而它又调用了icvCreateCARTHaarClassifier 、icvInitCARTHaarClassifier 、icvEvalCARTHaarClassifier 实现了弱检测器的分类回归树的初始化、构建、赋值。 以下是简化了的算法描述:其中C 代表当前样本集,当前候选属性集用T 表示。 (1)新建一个根节点root (2)为root 分配类别(有人脸还是没有) (3)如果T 都属于同一类别(都是正样本或者反样本)或者C 中只剩下一个样本则返回root 为叶节点,为其分配属性。 (4)对任何一个T 中属性执行该属性上的划分,计算此划分的分类不纯度 (吉尼不纯度) (5)root 的测试属性是T 中最小GINI 系数的属性 (6)划分C 得到C1 C2子集 (7)对于节点C1重复(1)-(6) (8)对于节点C2重复(1)-(6) 至于CART 的修剪、评估等算法就不给出了。CART 的修剪的算法是分类错误算法。如果想深入了解CART 树,则阅读上节给出的参考书目。 1.1. 2. 弱分类器方法 弱分类器的种类很多,但OpenCV 使用的是效果最好的决策树分类器。关于分类器的介绍在第一章已经讨论过了,如果要有更深入理解可以看一些数据挖掘的图书后,再看看OpenCV 下的cvhaartraining.cpp 文件。这里特别提下弱分类器的阈值的寻找方法。 阈值寻找算法定义在icvFindStumpThreshold_##suffix 函数里面,它是通过一个宏被定义的。至于为什么通过这种方式定义,可以参考文献。[i] 函数icvFindStumpThreshold_##suffix 输入参数介绍:wk 是第k 个样本的权重,yk 是第k 个样本是正样本还是反样本,如果是正样本则为+1,反样本则为-1,lerror 、rerror 是要求的最低误差,lerror=rerror=3.402823466e+38F(超大的数值),left 、right 是输出的误差。threshold 是阈值,found 为是否找到阈值,初始是0。 For i=1:num(对每个排序后的样本) (1)∑==i k k w wl 1 ,∑+==num i k k w wr 1 (2)k i k k y w wyl *1∑== , k num i k k y w wyr *1∑+== (3)curleft=wyl/wl , curright=wyr/wr (4)如果curlerror+currerror

分类与回归树——一种适用于临床研究的统计分析方法

分类与回归树 ———一种适用于临床研究的统计分析方法 赵一鸣 (北京大学第三医院临床流行病学研究中心,北京100083) [关键词]临床研究;分类法;回归分析,统计学[摘 要]介绍分类与回归树(class ification and re g ress ion trees ,CART ) 的发展历史、结构、组成和特点。CART 包括分类树和回归树两部分,分类树的结果变量是分类变量,回归树的结果变量是连续变量。CART 是一种树型结构, 由树结和连线组成,在末端的树结又称为终止结。CART 可分析同质性较差的数据,采用替代变量的方法解决缺失数据问题,不要求数据的分布,可同时利用各种类型的数据。CART 的树型结构与临床思维十分接近,有利于CART 在临床研究中的应用。CART 可用于临床研究数据分析,其应用范围有待于不断扩展。[中图分类号]R4[文献标识码]B [文章编号]1671-167X (2001)06-0562-04 C lassification and re g ression trees (a statistical m et hod suitable f or cli nical researches ) ZHAO y i-M i n g (C enter f or C li n ical E p i de m io lo g ical R esearch ,P eki n g U n ivers it y T h ird H os p ital ,B e i j i n g 100083,Ch i na ) KEY W ORD S C lassification ;R e g ression anal y sis ;C li nical research ;S tatistics ;A nal y sis SUMM ARY T o i ntroduce classification and re g ression trees (CART ).T he develo p m ent ,struct ure ,m ai n ele m ents and f eat ures o f CART w ere i ntroduced.CART w as struct ured b y t w o p arts ,classifica-tion tree and re g ression tree.C lassification tree used nom i nal variable as outcom e ,and re g ression tree used conti nuous variable as outcom e.T ree struct ure w as t he f eat ure o f CART ,and it w as m ade u p o f tree notes and li nes.T he ter m i nal tree notes w ere na m ed end notes.CART w as suitable f or non-hom o-g eneous data anal y sis , usi n g surro g ate to re p lace m issi n g data ,suitable f or an y distri buted data ,and all ki nd o f variables.T he tree struct ure o f CART w as ver y li ke cli nical t hou g ht w a y and suitable to ex p lai n results f or cli nical p ur p ose.CARTis a ne w statistical m et hod suitable f or cli nical data anal y sis.T he a pp lied ran g e o f CARTi n cli nical researches needs to be ex p anded. [J pekin g UniO (~ealt h S ci ),2001,33:562-565] 1970年, 美国4位统计学家分析了当时各种统计分析方法存在的缺陷,提出一种既可以包容这些统计分析方法优点,又能克服其缺陷的新的统计分析方法 分类与回归树 (class ification and re g ress ion trees ,CART ) 。至1984年CART 的理论模型研究基本完善[1],但其计算量非常大,在当时的微机上难以运行。直至1995年,出现了在486微机上运行的CART 统计分析软件,使其能够用于临床研究数据的统计分析。CART 的免费限时试用版软件可以从以下网站下载:htt p ://www.salf ord-s y ste m https://www.360docs.net/doc/d9847766.html, /de m o.ht m l 。现将作者对CART 的认识和应用体会简介如下。1 分类与回归树的结构与组成 CART 由分类树(class ification tree )和回归树(re g ress ion tree ) 两部分组成。分类树用于结果变量是分类变量的数据分析,回归树则用于结果变量是连续变量的数据分析。CART 是一种树型分析方法(图1、2),其结构类似一棵倒置的树,由主干和许多分支组成。在树中有许多节点,用椭圆形框和长方形框表示,称为树结(tree node ),其中长方形框又称为终止结(end node )。每一个树结中有一些数字,为分析结果,在椭圆形框下方标有判别条件,树结间用实线连接。2 分类与回归树的特点及其在临床研究数据分析中的价值目前诊断疾病主要依据疾病的临床表型,以此为依据诊断患某种疾病的一组患者,其内部同质性(hom o g eneous )有时较差,例如不同肺癌患者肿瘤的病理类型各异,组织学来源不同,生物学特征及其表型存在多样性,对治疗的反应和临床转归不同。这类数据采用单因素分析或多元线性回归、L o g istic 回归等归一化模型处理往往效果不理想, 因为这些?265?北京大学学报(医学版) J OURNAL OF PEK I NG UN I VERS I Ty (HEALTH SC I ENCES )V o l .33N o.6 D ec .2001

分类和回归树CART

分类和回归树CART 分类和回归树 (CART ) 李保坤老师 西南财经大学 统计学院本节内容提要CART 算法关于混杂度 -- 基尼指数 -- 二分指数剪枝CART 对缺失值的处理 CART 算法分类和回归树(Classification and Regression Trees ,CART )有时被写作 C&RTBreiman, L., J. H. Friedman, R. A. Oshen,and C. J. Stone, 1984. Classification andregression trees. Belmont, CA: Wadsworth.CART 算法 ? 概览二叉树算法把数据递进划分为两个子集 , 每一个子集 的记录会更纯这一算法把误分类代价、先验概率、成本 - 复杂性剪枝CART 算法 1. 基本思想是在每一个节点选择一个划分 , 使得其每一个子集 ( 子节点 ) 的数据比父 节点的数据更“ 纯” 一些。CART 用一个混杂 度测度it 来测量一个划分的节点数据的混 杂度。CART 算法 2. 如果在节点t 的一个划分 s 把pL 比率的数据 送到左子节点tL , 把pR 比率的数据送到右子 节点tR , 在节点t 的划分 s 降低的混杂度被定

义为 :CART 算法3. CART 树的生长始于节点即, 全部训练数据 t1, 在所有可能的划分中选择一个划分 s* , 该划分导致混杂度的最大降低。 s* 把节点t1 划分为t2 和 t3 两个子节点。CART 算法 4. 以上的划分搜索过程为每一个子节点重复 使用。 5. 当所有的终止标准被满足后生长过程停止。混杂度的几个测度目标变量是类别变量 ( 名义 ) ? 基尼指数 ( Gini Index ) ? 二分指数 (Twoing Index )目标变量是类别变量 ( 有 序 ) ? 有序二分指数 (Ordered Twoing )目标变量是连续变量 ? 最小平方偏差 (Least-Squared Deviation )混杂度 : 基尼指数如果一个数据集合T 的观测记录里包括n 个类别 , 基尼指数的定义如下 : 其中是节点t 的类别j 的相对比例混杂度 : 基尼指数如果一个数据集合T 被划分 为两个子集合T 1 和T , 对应的记录数量分别是N 和N , 划分 2 1 2 split 的基尼指数被定义为 :实际上 , 这是两个子集的基尼指数的加权 平均值混杂度 : 基尼指数基尼指数的最大值是1-1/k , 在 此k 是类别的 数量。当观测记录在k 个类别上平均分布时

C A R T 分 类 与 回 归 树

【机器学习】十、分类和回归树CART原理 一文详解,分类和回归树算法背后原理。码字不易,喜欢请点赞,谢谢!!! 一、前言 分类和回归树(Classification And Regression Trees),简称CART,是1984年提出来的既可用于分类,又可用于回归的树。CART被称为数据挖掘领域内里程碑式的算法。 上一节介绍了决策树的ID3和C4.5算法,后面说到了C4.5算法存在几点不足,主要为,生成多叉树;容易过拟合;只能用于分类;特征选择采用熵模型计算量大。而CART针对C4.5算法的这几点不足都提出了改进。本文将会一一介绍。 二、CART特征选择方法 CART算法包括分类树和回归树,其中分类树和回归树的特征选择采用的是不同的方法,这里依次介绍。 CART分类树特征选择 在ID3中,采用信息增益来选择特征;在C4.5中,采用信息增益率来选择特征;而在CART的分类树中,则是采用基尼系数来选择特征。这是因为,信息论中的熵模型,存在大量的对数运算,而基尼系数在简化熵模型的计算的同时保留了熵模型的优点。 基尼系数 基尼系数代表模型的纯度,基尼系数越大,模型越不纯;基尼系数越

小,模型越纯。因此在特征选择时,选择基尼系数小的来构建决策树,这和信息增益(率)是相反的。 基尼系数表达式: 式中KKK表示分类问题有KKK个类别,第kkk个类别的概率为pkp_kpk?。 如果是二分类,公式将更简单,假设第一类的概率为ppp,则基尼系数表达式为: 对于个给定的样本DDD,假设有KKK个类别, 第kkk个类别的数量为CkC_kCk?,则样本DDD的基尼系数表达式为: 特别的,对于样本DDD,如果根据特征AAA的某个值aaa,把DDD分成 D1D1D1和D2D2D2两部分,则在特征AAA的条件下,DDD的基尼系数表达式为: 从熵模型到基尼系数 到这里你可能还不明白为什么可以使用基尼系数来替代熵,推导如下:从上面推导可以得知,通过泰勒展开,可以将基尼系数近似的等价于熵模型。下图展示了基尼系数和熵模型之间的差距,可以看出,基尼系数和熵之半的曲线非常接近,仅仅在45度角附近误差稍大。因此,基尼系数可以做为熵模型的一个近似替代。 CART回归树特征选择 上面说了CART的分类树采用基尼系数来选取特征,而CART的回归树对于离散型特征也是采用基尼系数,而对于连续性特征,则采用均方差。对于任意划分特征AAA,对应的任意划分点sss两边划分成的数据集D1D1D1和D2D2D2,求出使D1D1D1和D2D2D2各自集合的均方差最小,同

相关文档
最新文档