一.决策树结构
1案例分析
- 例题
- 树方案
二.要点认知
1.纯度认知确
- 样本中没有两项属于同一类
- 样本中所有项都属于同一类
- 如图可知,所有的点属于地球的同一类。
- 如图可知,各个国的点不属于非本国的同一类。
2.定样本集的拆分属性
- 样本集拆分的分类结果尽可能的单一,多数类占优
- 衡量集和的纯度,依照纯度进行拆分
3.纯度量化
- 基尼系数(Gini总体发散性)CART
- 熵(entropy,信息量,近0则优)
- 明确信息消耗的多少
- 信息增益 (Gain)ID3
- 对纯度提升的程度
- 信息增益率 C4.5,C5.0
4.ID3步骤
(1)计算
- 计算当前样本,所有属性的信息信息增益
(2)选择
- 选择信息增益最大的做为拆分属性,将拆分属性相同的归为同一子样本集
(3)判断(递归)
- 若拆分属性分类不是单一,继续进行ID3操作,直至属性分类单一、
5.算法比较
算法 | 解释 | 适用 |
---|---|---|
ID3 | 以信息熵增益为衡量标准(选取大的) | 确定结点应采用的属性 |
C4.5 | 以信息增益率为衡量标准(选取大的) | 离散描述属性 连续描述属性 |
C5.0 | C4.5加强版 | 大数据集 |
CART | 通过构建树,修剪树,评估树来构建二叉树 | 回归树: 终结点连续变量, 分类树: 终结点分类变量 |
三.实战
1.DecisionTreeClassifier解析
参数 | 解释 | 接收 | 默认 |
---|---|---|---|
criterion | 衡量分裂质量的功能 | 信息增益/基尼系数 | ‘gini’ |
splitter | 节点拆分策略 | str | ‘best’ |
max_depth | 树最大深度 | int | None |
min_samples_split | 拆分内部节点所需的最小样本数 | int | 2 |
min_samples_leaf | 叶节点最小样本数 | int | 1 |
min_weight_fraction_leaf | 叶节点处的权重总和中的最小加权分数 | float | 0.0 |
random_state | 估计器的随机性随机拆分样本 | int | None |