数据挖掘算法CART

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据挖掘算法---CART

1.

分类与回归树(Classification and Regression Trees, CART)是由四人帮Leo Breiman, Jerome Friedman, Richard Olshen与Charles Stone 于1984年提出,既可用于分类也可用于回归。本文将主要介绍用于分类的CART。CART被称为数据挖掘领域内里程碑式的算法。

不同于C4.5,CART本质是对特征空间进行二元划分(即CART生成的决策树是一棵二叉树),并能够对标量属性(nominal attribute)与连续属性(continuous attribute)进行分裂。

前一篇提到过决策树生成涉及到两个问题:如何选择最优特征属性进行分裂,以及停止分裂的条件是什么。

CART对特征属性进行二元分裂。特别地,当特征属性为标量或连续时,可选择如下方式分裂:

An instance goes left if CONDITION, and goes right otherwise

即样本记录满足CONDITION则分裂给左子树,否则则分裂给右子树。

标量属性

进行分裂的CONDITION可置为;比如,标量属性取值空间为,二元分裂与多路分裂如下:

连续属性

CONDITION可置为不大于ε;比如,连续属性Annual Income,ε取属性相邻值的平均值,其二元分裂结果如下:

接下来,需要解决的问题:应该选择哪种特征属性及定义CONDITION,才能分类效果比较好。CART采用Gini指数来度量分裂时的不纯度,之所以采用Gini指数,是因为较于熵而言其计算速度更快一些。对决策树的节点t,Gini指数计算公式如下:

Gini(t)=1−∑k [p(c k |t)] 2 (1)

Gini指数即为1与类别c k的概率平方之和的差值,反映了样本集合的不确定性程度。Gini指数越大,样本集合的不确定性程度越高。分类学习过程的本质是样本不确定性程度的减少(即熵减过程),故应选择最小Gini指数的特征分裂。父节点对应的样本集合为D,CART选择特征A 分裂为两个子节点,对应集合为D L与D R;分裂后的Gini指数定义如下:

G(D,A)=|D L ||D| Gini(D L )+|D R ||D| Gini(D R ) (2)

其中,|⋅|表示样本集合的记录数量。

CART算法流程与C4.5算法相类似:

1.若满足停止分裂条件(样本个数小于预定阈值,或Gini指数小于预定阈值(样本基本属于同一类,或没有特征可供分裂),则停止分

裂;

2.否则,选择最小Gini指数进行分裂;

3.递归执行1-2步骤,直至停止分裂。

CART剪枝与C4.5的剪枝策略相似,均以极小化整体损失函数实现。同理,定义决策树T的损失函数为:

L α(T)=C(T)+α|T| (3)

其中,C(T)表示决策树的训练误差,α为调节参数,|T|为模型的复杂度。

CART算法采用递归的方法进行剪枝,具体办法:

•将α递增0 = α0 < α1 < α2 < ⋯ < αn,计算得到对应于区间[αi, αi+1)的最优子树为T i;

•从最优子树序列{T1, T2, ⋯, T n}选出最优的(即损失函数最小的)。

如何计算最优子树为T i呢?首先,定义以t为单节点的损失函数为

Lα(t)=C(t)+α

以t为根节点的子树T t的损失函数为

Lα(T t)=C(T t)+α|T t|

令Lα(t)=Lα(T t),则得到

α=C(t)−C(T t )|T t|−1

此时,单节点t与子树T t有相同的损失函数,而单节点t的模型复杂度更小,故更为可取;同时也说明对节点t的剪枝为有效剪枝。由此,定义对节点t的剪枝后整体损失函数减少程度为

g(t)=C(t)−C(T t )|T t|−1

剪枝流程如下:

•对输入决策树T0,自上而下计算内部节点的g(t);选择最小的g(t)作为α1,并进行剪枝得到树T1,其为区间[α1, α2)对应的最优子树。•对树T1,再次自上而下计算内部节点的g(t);……α2……T2……

•如此递归地得到最优子树序列,采用交叉验证选取最优子树。

关于CART剪枝算法的具体描述请参看[1],其中关于剪枝算法的描述有误:

(6)如果T不是由根节点单独构成的树,则回到步骤(4)

应改为回到步骤(3),要不然所有α均一样了。

4. 参考资料

[1] 李航,《统计学习方法》.

[2] Pang-Ning Tan, Michael Steinbach, Vipin Kumar, Introduction to Data Mining.

[3] Dan Steinberg, The Top Ten Algorithms in Data Mining.

相关文档
最新文档