西瓜书 - 决策树

321 阅读2分钟

这是我参与11月更文挑战的第5天,活动详情查看:2021最后一次更文挑战

CART - Classfication And Regression Tree - 分类回归树

CART 只支持二叉树,既可以作分类树,又可以作回归树

什么是分类树,什么是回归树?

分类树 - 从几个分类中做出选择 - 离散数据 回归树 - 给定数据,预测结果 - 连续型数值进行预测

CART分类树的工作流程

决策树的核心 - 寻找纯净的划分 - 纯度
CART分类树 - C4.5算法类似 - 属性选择的指标 - 基尼系数

基尼系数 - 1-Σp²

样本的不确定度 - 基尼系数越小,样本之间的差异越小,不确定程度低

CART分类具体流程

  1. 各个子节点的基尼系数
  2. 父节点基尼系数 = 子节点的归一化基尼系数之和

如何使用CART算法来创建分类树

以iris为数据集

  1. 加载数据集
  2. 获取特征集和分类标识
  3. 将特征集划分为训练集和测试集
  4. 创建CART分类树
  5. 拟合构造分类树
  6. 用CART分类树做预测
  7. 预测结果和测试集结果做对比

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 - 基于基尼系数来判断 - 基尼系数最小的属性作为属性划分