什么是 CART 剪枝算法?
CART 是一种著名的决策树算法,由 Leo Breiman、Jerome Friedman、Richard Olshen 和 Charles Stone 于 1984 年首次提出。CART 代表分类和回归树。CART 算法改进二叉树,并继续划分,因为可以找到新的分割点来提高纯度。
有一些更简单的子树,每个子树在模型复杂度和训练组误分类率之间定义了不同的权衡。CART 算法将一组这样的子树识别为候选模型。这些候选子树用于验证组,误分类率最低的树被选为最终模型。
CART 算法通过重复剪枝的过程识别候选子树。目标是首先剪枝那些每个叶子支持的预测能力最少的树枝。它可以识别这些最不利的树枝,CART 基于一个称为调整误差率的概念。
这是一个度量,它通过对树中多个叶子的复杂度惩罚来提高训练集上每个节点的误分类成本。调整误差率可以识别弱分支(其误分类率不足以克服惩罚的分支)并指示对其进行剪枝。
下一个任务是从候选子树池中选择一个在新的记录上运行效果最好的子树。每个候选子树都可以定义验证集中的数据。用最低的完整误差率执行此任务的树被定义为获胜者。获胜的子树已被充分剪枝以消除过度训练的影响,但不会过度剪枝以至于丢失有价值的数据。
因为这种剪枝算法依赖于误分类率,而没有考虑每个分类的概率,所以它恢复了一些子树,其叶子都创建了与也创建该分类的公共父级相同的分类。
目标是选择一小部分数据(例如,前 1% 或 10%),这种剪枝算法可能会损害树的实现,因为一些被删除的叶子包含目标类的非常大的区域。有各种工具,包括 SAS Enterprise Miner,使用户能够为这些方法优化剪枝树。
获胜的子树是根据其用于定义验证集中的数据时的完整误差率选择的。可以预期,所选的子树在用于多个数据集时将继续成为最佳的实现子树,但生成它以进行选择的误差率可能会略微夸大其强度。