这是我参与11月更文挑战的第5天,活动详情查看:2021最后一次更文挑战
CART - Classfication And Regression Tree - 分类回归树
CART 只支持二叉树,既可以作分类树,又可以作回归树
什么是分类树,什么是回归树?
分类树 - 从几个分类中做出选择 - 离散数据 回归树 - 给定数据,预测结果 - 连续型数值进行预测
CART分类树的工作流程
决策树的核心 - 寻找纯净的划分 - 纯度
CART分类树 - C4.5算法类似 - 属性选择的指标 - 基尼系数
基尼系数 - 1-Σp²
样本的不确定度 - 基尼系数越小,样本之间的差异越小,不确定程度低
CART分类具体流程
- 各个子节点的基尼系数
- 父节点基尼系数 = 子节点的归一化基尼系数之和
如何使用CART算法来创建分类树
以iris为数据集
- 加载数据集
- 获取特征集和分类标识
- 将特征集划分为训练集和测试集
- 创建CART分类树
- 拟合构造分类树
- 用CART分类树做预测
- 预测结果和测试集结果做对比
CART回归树的工作流程
过程和分类树过程一样,基尼系数作为标准 - 回归树得到的预测结果是连续值,评判“不纯度” - 样本的离散程度
找到节点划分的方法 最小绝对偏差(LAD)|x - μ| 最小二乘偏差(LSD)1/n * Σ(x-μ)²
CART决策树的剪枝
CCP方法 - 后剪枝 - cost-complexity prune[代价复杂度]
节点的表面误差率增益值
α = (C(t) - C(T))/ (|T| - 1) = 节点子树被剪枝后的误差 - 节点子树被剪枝前的误差 / 剪枝后的叶子树(剪枝了就比原叶子树少1)
即 节点子树被剪枝后的误差变化除以剪掉的叶子数
希望剪枝前后误差最小 - 找到最小α值对应的节点,剪掉
ID3,C4.5, CART分类树在做节点划分时的区别
ID3 - 基于信息增益来判断 - 信息增益最大 - 选取作为根节点
C4.5 - 基于信息增益率来判断 - 信息增益率最大 - 作为根节点
CART - 基于基尼系数来判断 - 基尼系数最小的属性作为属性划分