CART分类回归树

原创 2015年11月20日 23:03:52

这一篇主要是CART,有几个重点的词语先写下来,重点哦:基尼指数(Gini index)、最小二乘回归树(least squares regression tree)
CART:classification and regression tree。分类回归树。
简单的说呢,CART就是个二叉树(广义的决策树并不一定就是二叉树,可能好几叉。。。哈哈),所以内部节点的取值就是“是”“否”的了。
直接介绍算法吧,CART的基本原理和广义的决策树是一样的,就相当于二叉树都有普通树的特征。

下面直接介绍回归树的算法:
1. 回归树的生成:基于训练数据集生成决策树,尽量大点。
2. 回归树剪枝:用验证数据集对已生成的树进行剪枝并选择最优子树,这时用损失函数最小作为剪枝的标准。
完了,,,很简单的。哈哈

下面介绍一下详细的算法,重点还是大多参考了统计学习方法的:
简单介绍一下理论:给定数据集这里写图片描述
假设已经将输入空间划分为M个单元R_1、R_2、…R_M,并且每个单元都有一个固定的输出值C_m,则回归树的模型为:
这里写图片描述

训练数据集的预测误差为:平方误差这里写图片描述
平方误差是用来球每个单元上的最优输出值
即:这里写图片描述
那么怎么选择划分的那条线呢?
选择第j个变量x_j和取得值s,定义两个区域:
这里写图片描述
那么在这里我们就寻找最优的j和s,也就是求解:
这里写图片描述
书上是这样的,但是我感觉中括号里的两个min就不要了。删掉就好。
求解的过程待会见回归树生成算法。

通常,通过以上过程建立的回归树叫做最小二乘回归树。
最小二乘回归树的生成算法:
输入:训练数据集D
输出:回归树f(x)
在训练数据集所在的输入空间中,递归的将每个区域划分为两个子区域并决定每个子区域上的输出值,构建二车决策树:
1). 选择最优划分变量j和s;
求解:
这里写图片描述

遍历变量j,对固定的j扫描s,选择是上式最小值的(j,s);
2). 用选定的(j,s)划分区域并决定相应的输出值;
这里写图片描述
这里写图片描述
3). 继续1)、2)步骤,直至满足条件;
4).将输入空间划为M个区域,R_1…….R_m,生成决策树:
这里写图片描述

接下来是什么呢?上边是回归,下边就是分类了,分类树的生成是怎么做的呢?
最开始的基尼指数就要开始登场了:
分类树是通过基尼指数来选择最优特征的,同时决定该特征的最优切分点。
基尼指数:假设有k个类,样本属于第k个类的概率为P_k, 则此概率分布的基尼指数定义为:这里写图片描述
对于给定的离散数据集D, 其基尼指数为:这里写图片描述
如果样本集合D根据特征A是否去某一个值a被分割为D_1、D_2,
即: 这里写图片描述
那么这就是在特征A的条件下D的基尼指数是:
这里写图片描述
基尼指数求出来了,那么基尼指数有什么意义呢?
基尼指数表示集合D的不确定性,基尼指数这里写图片描述 表示经过特征A分割后D的不确定性,跟条件熵是不是很相似。。。Gini(D)和熵也是很类似的。
CART的分类树生成算法:
输入: 训练数据集D,停止计算的条件。
输出: CART决策树.
根据训练数据集,从根节点开始,递归的对每一个结点进行以下操作,构建决策树。
1. 设结点的训练集为D,计算现有特征对该数据集的基尼指数,此时,对每一个特征A,对其可能取的每一个值a,根据样本点对A=a的测试是“是”还是“否”,将D分割成D_1,D_2,利用上边的式子计算A=a时的基尼指数。
2. 在所有可能的特征A以及它们所有可能的切分点a中,选择基尼指数最小的特征及其对应的切分点作为最优特征与最优切分点(基尼指数越大不确定性越大,不好,所以选小的)。依最优特征与最优切分点,从现结点生成两个子结点,将训练数据集依特征分配到两个子结点中去。
3. 对两个子结点递归的调用步骤1. 2.直至满足条件。
4. 生成CART决策树。
算法停止的条件是结点中的样本个数小于预定阈值,或样本的基尼指数小于预定阈值(样本基本属于同一类),或者没有更多特征了。

完了。。。。。这就是分类回归树的理论原理,还剩了个剪枝没记录,但是剪枝就涉及自己实现的时候用到的,等以后自己实现的时候用到了再详细解释吧。下一个是随机森林和随机蕨。

版权声明:本文为博主原创文章,未经博主允许不得转载。

最小二乘回归树生成算法

算法:\qquad 输入:训练数据集 DD; \qquad 输出:回归树 f(x)f(x) . \qquad 在训练数据集所在的输入空间中,递归地将每个区域划分为两个子区域并决定每个子区域上的输出...
  • FeynmanWang
  • FeynmanWang
  • 2015年07月26日 12:27
  • 2657

决策树学习(下)——ID3、C4.5、CART深度剖析及源码实现

引言在《决策树学习(上)——深度原理剖析及源码实现》中,我们讨论了决策树的基本原理、所需要掌握的信息论知识,并在文章的最后给出了Java源码实现。在这一节,我们继续讨论基于决策树学习的算法。由于基于决...
  • yangmuted
  • yangmuted
  • 2015年08月29日 10:03
  • 5614

自学数据挖掘十大算法之CART

分类与回归树(Classification andRegression Trees, CART)算法由Breiman等人于1984年提出,是分类数据挖掘算法的其中一种。CART采用一种二分递归分割的技...
  • u010695420
  • u010695420
  • 2015年02月06日 10:42
  • 2037

掰开揉碎机器学习系列-决策树(2)-CART决策树

关于CART决策树
  • u010246947
  • u010246947
  • 2016年12月02日 17:32
  • 602

CART分类与回归树的原理与实现

CART(Classification And Regression Tree)算法采用一种二分递归分割的技术,将当前的样本集分为两个子样本集,使得生成的的每个非叶子节点都有两个分支。因此,CART算...
  • u014568921
  • u014568921
  • 2015年04月16日 22:31
  • 9928

决策树之CART(分类回归树)详解

决策树之CART(分类回归树)详解 主要内容 CART分类回归树简介 CART分类回归树分裂属性的选择 CART分类回归树的剪枝 1、CART分类回归树简介   CART分类回归树是一种典型的二叉...
  • zhihua_oba
  • zhihua_oba
  • 2017年05月15日 22:20
  • 3453

简单易学的机器学习算法——分类回归树CART

一、树回归的概念 二、
  • google19890102
  • google19890102
  • 2014年06月19日 16:01
  • 15786

数据挖掘十大经典算法--CART: 分类与回归树

一、决策树的类型  在数据挖掘中,决策树主要有两种类型: 分类树 的输出是样本的类标。 回归树 的输出是一个实数 (例如房子的价格,病人呆在医院的时间等)。 术语分类和回归树 (CART) 包含了...
  • u011067360
  • u011067360
  • 2014年05月02日 13:15
  • 44306

CART分类回归树算法

CART分类回归树算法 与上次文章中提到的ID3算法和C4.5算法类似,CART算法也是一种决策树分类算法。CART分类回归树算法的本质也是对数据进行分类的,最终数据的表现形式也是以树形的模式展现的...
  • Androidlushangderen
  • Androidlushangderen
  • 2015年01月09日 18:37
  • 9261

CART: 分类与回归树

http://blog.csdn.net/u011067360/article/details/24871801 主题 决策树 算法 一、决策树的类型   在数据挖掘中,决策树主要有两种...
  • shisibushiba
  • shisibushiba
  • 2016年03月04日 14:44
  • 1352
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CART分类回归树
举报原因:
原因补充:

(最多只允许输入30个字)