一、简介
分类与回归树CART (Ciassification and Regression Trees)是分类数据挖掘算法的一种。CART是在给定输入随机变量X条件下输出随机变量Y的条件分布概率。该模型使用了二叉树将预测空间递归划分为若干子集,Y在这些子集的分布是连续均匀的。树中的叶节点对应着划分的不同区域,划分是由与每个内部节点相关的分支规则(Spitting Rules)确定的。通过从树根到叶节点移动,一个预测样本被赋予一个惟一的叶节点,Y在该节点上的条件分布也被确定。CART模型最旱由Breman等人提出并己在统计学领域普遍应用。在分类树下面有两个关键的思想。第一个是关于递归地划分自变量空间的想法;第二个想法是用验证数据进行剪枝。
二、分类树与回归树的区别
在数据挖掘中,决策树主要有两种类型:
分类树的输出是样本的类标。 针对Y是离散变量。
回归树的输出是一个实数 (例如房子的价格,病人呆在医院的时间等)。针对Y是连续变量。
回归树的输出是一个实数 (例如房子的价格,病人呆在医院的时间等)。针对Y是连续变量。
CART与ID3区别:
CART中用于选择变量的不纯性度量是Gini指数;
如果目标变量是标称的,并且是具有两个以上的类别,则CART可能考虑将目标类别合并成两个超类别(双化);
如果目标变量是连续的,则CART算法找出一组基于树的回归方程来预测目标变量。
如果目标变量是标称的,并且是具有两个以上的类别,则CART可能考虑将目标类别合并成两个超类别(双化);
如果目标变量是连续的,则CART算法找出一组基于树的回归方程来预测目标变量。
三、构建分类决策树
分类树用基尼指数选择最优特征,同时决定该特征值的最优二值切分点
基尼指数定义
分类问题中,假设有K个类,样本点属于第k类的概率为pk,则概率分布的基尼指数定义为
对于二类分类问题,若样本点属于第1个类的概率是p,则概率分布的基尼指数为
对于二类分类问题,若样本点属于第1个类的概率是p,则概率分布的基尼指数为
Gini(p)=2p(1-p)
对于给定的样本集合D,其基尼指数为
这里,Ck是D中属于第k类的样本子集,k
是类的个数。
D根据特征A是否取某一个可能值a而分为D1和D2两部分:
则在特征A的条件下,D的基尼指数是:
根据表给出的数据,用CART算法生成决策树
解:首先计算各特征的基尼指数,选择最优特征以及最优切分点。分别以
A1,A2,A3,A4
表示年龄、有工作、
有自己的房子和信贷情况4个特征,并以1,2,3表示年龄的值为青年、中年和老年,以1,2表示有工作和有
自己的房子的值是和否,以1,2,3表示信贷情况的值为非常好、好和一般。
求特征 A1 的基尼指数:
青年(总量 = 5) | 中年、老年(总量 = 10) | |
---|---|---|
能否贷款 | 否,否,是,是,否 | 否,否,是,是,是,是,是,是,是,否 |
基尼指数在选取最优切分点的过程中,会分为当前特征标签和其他特征标签两类。所以
Gini(D,A1=1)=515[2×25×(1−25)]+1015[2×710×(1−710)]=0.44
简单说明下,第一部分是青年标签里能否贷款的数据混沌度,第二部分是中年和老年加在一起的数据混沌度。同理:
Gini(D,A1=2)=0.48
Gini(D,A1=3)=0.44
由于 Gini(D,A1=1)=Gini(D,A1=3)=0.44 ,且最小,所以 A1=1和A1=3 都可以选作 A1 的最优切分点。
求特征
A2和A3
的基尼指数:
Gini(D,A2=1)=0.32
Gini(D,A3=1)=0.27
由于 A2和A3 只有一个切分点,所以它们就是最优切分点。
求特征
A4
的基尼指数:
Gini(D,A4=1)=0.36
Gini(D,A4=2)=0.47
Gini(D,A4=3)=0.32
Gini(D,A4=3) 最小,所以 A4=3 为 A4 的最优切分点。
在 A1,A2,A3,A4 几个特征中, Gini(D,A3=1)=0.27 最小,所以选择特征 A3 为最优特征, A3=1 为其最优切分点。于是根结点生成两个子结点,一个是叶结点。对另一个结点继续使用以上方法在 A1,A2,A4 中选择最优特征及其最优切分点,结果是 A2=1 ,以此计算得知,所得结点都是叶结点。
有关剪枝的内容请参考统计学方法和http://blog.csdn.net/u014688145/article/details/53326910