CART(Classification and Regression Trees)是一种经典的决策树算法,广泛应用于分类与回归任务。以下是其核心原理与实现要点:
1. 基本概念
- CART通过递归选择最优特征进行分裂,构建二叉树结构
- 每个节点表示一个特征判断,叶子节点表示最终预测结果
- 支持分类树(Categorical Tree)和回归树(Regression Tree)两种模式
2. 分裂准则
- 分类任务:采用基尼不纯度(Gini Impurity)作为分裂标准
- 公式:$ G = 1 - \sum_{i=1}^{k} p_i^2 $,其中$p_i$为类别占比
- 回归任务:使用平方误差(Mean Squared Error)进行分裂
- 目标:最小化子节点目标值与父节点的差异
3. 构建过程
- 选择最优特征进行分裂(基于准则计算)
- 递归构建子树,直到满足停止条件
- 停止条件:
- 节点样本数低于阈值
- 所有样本属于同一类别
- 达到预设深度
4. 剪枝方法
- 预剪枝:在构建树前设定深度限制或样本数阈值
- 后剪枝:通过代价复杂度剪枝(Cost Complexity Pruning)优化模型
- 公式:$ \alpha \in [0,1] $ 用于平衡树的复杂度与误差
5. 应用场景
- 分类任务:如信用卡欺诈检测(/community/resources/tutorials/machine_learning/decision_trees/classification_case)
- 回归任务:如房价预测(/community/resources/tutorials/machine_learning/decision_trees/regression_case)
📌 扩展阅读:了解CART与ID3/C4.5的区别可参考 [/community/resources/tutorials/machine_learning/decision_trees/compare_algorithms] 路径