- 输入是CART树建立算法得到的原始决策树T。
- 输出是最优决策子树Tα。
- 算法过程如下:
- 1)初始化αmin=∞, 最优子树集合ω={T}。
- 2)从叶子节点开始自下而上计算各内部节点t的训练误差损失函数Cα(Tt)(回归树为均方差,分类树为基尼系数), 叶子节点数|Tt|,以及正则化阈值α=min{(C(T)−C(Tt))/(|Tt|−1),αmin}, 更新αmin=α
- 3) 得到所有节点的α值的集合M。
- 4)从M中选择最大的值αk,自上而下的访问子树t的内部节点,如果(C(T)−C(Tt))/(|Tt|−1)≤αk时,进行剪枝。并决定叶节点t的值。如果是分类树,则是概率最高的类别,如果是回归树,则是所有样本输出的均值。这样得到αk对应的最优子树Tk
- 5)最优子树集合ω=ω∪Tk, M=M−{αk}。
- 6) 如果M不为空,则回到步骤4。否则就已经得到了所有的可选最优子树集合ω.
- 7) 采用交叉验证在ω选择最优子树Tα
CART树算法的剪枝算法
最新推荐文章于 2024-08-02 20:10:59 发布