CART(Classification and Regression Tree)
CART(分类与回归树)是一种用于分类和回归任务的决策树算法,提出者为 Breiman 等人。它的核心思想是通过二分法递归地将数据集划分为子集,从而构建一棵树。CART 算法既可以生成分类树,也可以生成回归树。
1. CART 的特点
- 二叉树结构:CART 始终生成二叉树,每个节点只有两个分支(左子树和右子树)。
- 分裂标准不同:
- 对于分类任务,CART 使用**基尼指数(Gini Index)**作为分裂标准。
- 对于回归任务,CART 使用**最小均方误差(MSE)**作为分裂标准。
- 支持剪枝:通过后剪枝减少过拟合。
- 处理连续和离散数据:支持连续特征的划分点选择。
2. CART 的基本流程
- 输入:训练数据集 D,目标变量类型(分类或回归)。
- 递归分裂:
- 按照基尼指数(分类)或均方误差(回归)选择最佳划分点。
- 对数据集划分为两个子集,递归构造子树。
- 停止条件:
- 节点样本数量小于阈值。
- 划分后不再能显著降低误差。
- 剪枝:
- 通过校验集性能优化,剪去不显著的分支。
- 输出:最终的二叉决策树。
3. 分类树
(1) 基尼指数
基尼指数(Gini Index)用于衡量一个节点的“纯度”,越小表示越纯:
其中: