CART Classification and Regression Tree
CART(Classification And Regression Tree)算法采用一种二分递归分割的技术,将当前 的样本集分为两个子样本集,使得生成的决策树的每个非叶子节点都有两个分支。因此,CART算法生成的决策树是结构简洁的二叉树。
以下是算法描述:其中T代表当前样本集,当前候选属性集用T_attributelist表示。
(1)创建根节点N
(2)为N分配类别
(3)if T都属于同一类别or T中只剩下 一个样本则返回N为叶节点,为其分配属性
(4)for each T_attributelist中属性执行该属性上的一个划分,计算此划分的GINI系数
(5)N的测试属性test_attribute=T_attributelist中最小GINI系数的属性
(6)划分T得到T1 T2子集
(7)对于T1重复(1)-(6)
(8)对于T2重复(1)-(6)
CART算法考虑到每个节点都有成为叶子节点的可能,对每个节点都分配类别。分配类别的方法可以用当前节点中出现最多的类别,也可以参考当前节点的分类错误或者其他更复杂的方法。
CART算法仍然使用后剪枝。在树的生成过程中,多展开一层就会有多一些的信息被发现,CART算法运行到不能再长出分支为止,从而得到一棵最大的决策树。然后对这棵大树进行剪枝。
internal node leaf node 内部节点和叶节点
sub-optimal 次最优
决策树学习 : 特征选择,决策树的生成 、决策树的剪枝
over-fit 需要对特征进行选择,保留拥有足够分类能力的特征
常用算法:ID3 C4.5 CART
特征值得选择 :信息增益 information gain 或者 信息增益比值
熵 entropy 表示随即变量不确定性的度量 熵越大不确定性越大
条件熵 conditional entropy
g = H(D) - H(D|A) 数据集的进行分类的不确定性 - 在A特征下数据集进行分类的不确定性 g越大 说明 A 分类能力越强 == 在A特征下,数据集分类不确定性越小,分类能越强大
信息增益比值 g(R) = g/h(D) 即 信息增益与 数据集经验熵 的比值
ID 3 选择信息增益最大的特征为结点的特征 极大似然法
C4.5 利用信息增益比值作为选择特征标准
决策树的剪枝 pruning
pruning 通过极小化决策树整体的损失函数
Ca(T) = c(T) + a|T| 模型对数据的训练误差 + 模型的复杂度
修剪之后 Ca(Ta)< Ca(Tb) 则进行修剪
CART 算法 classification and regression tree
包含 特征选择 、 树的生成、剪枝 可用于分类和回归
对于分类 使用基尼指数最小化准则 进行特征选择 Gini index
对于回归 平方误差最小化准则
回归和分类 :分类 Y值为有限 离散,回归 Y为 R 连续变量
回归树
分类树
基尼指数 gini
二分类基尼指数:
G(D,A) = |D1|/D * gini(D1) + D2/D*gini(D2)
gini(D)表示集合D的不确定性, Gini(D,A) 表示集合D经过A = a分隔后的不确定性
基尼指数最小的特征 对应的切分点作为最优的特征与最优切分点
CART剪枝
g(t) = (C(t) - C(Tt))/|Tt|-1 ,计算每个节点的g(t)值,选择最小的 节点,子树 T1
交叉验证法:测试各个子树的平方误差和基尼指数,最小的为最优决策树
decision Tree
猜你喜欢
转载自chris-ma.iteye.com/blog/1881834
今日推荐
周排行