机器学习基础 - 分类模型之决策树
决策树
文章目录
- 决策树
- 简介
- 决策树三要素
- 1. 特征的选择
- 1. ID3
- 2. C4.5
- 3. CART
- 2. 剪枝处理
- 0. 剪枝的作用
- 1. 预剪枝
- 2. 后剪枝
- QA
- 1. ID3, C4.5, CART 这三种决策树的区别
- 2. 树形结构为何不需要归一化?
- 3. 分类决策树与回归决策树的区别
- 4. 为何信息增益会偏向多取值特征?
- 4. 为何信息增益会偏向多取值特征?
算法 | 划分标准 |
---|---|
ID3 | 信息增益 |
C4.5 | 信息增益率 |
CART | 基尼系数 |
简介
决策树是一个分而治之的递归过程。
- 开始,构建根节点,将所有训练数据都放在根节点。
- 然后,选择一个最优特征,按照这一特征将训练数据集分割成子集,使得各个子集有一个在当前条件下最好的分类。
- 如果子集未分类完毕,则在子集中选择一个最优特征,继续进行划分,直到所有训练数据子集都被正确分类或没有合适的特征为止。
决策树三要素
- 特征选择: 从训练数据中众多的特征中选择一个特征作为当前节点的分裂标准,如何选择特征有着很多不同量化评估标准标准,从而衍生出不同的决策树算法。
- **决策树生成:**根据选择的特征评估标准,从上至下递归地生成子节点,直到数据集不可分则停止决策树停止生长。
- **决策树的修剪:**决策树容易过拟合,一般来需要剪枝,缩小树结构规模、缓解过拟合。剪枝技术有预剪枝和后剪枝两种。
1. 特征的选择
有三种方法进行特征选择:ID3: 信息增益,C4.5: 信息增益比,CART: 基尼系数
1. ID3
思想: 计算所有特征划分数据集D,得到多个特征划分数据集D的信息增益,从这些信息增益中选择最大的,因而当前结点的划分特征便是使信息增益最大的划分所使用的特征。
1.对当前例子集合,计算各属性的信息增益;
2.选择信息增益最大的属性Ak;
3.把在Ak处取值相同的例子归于同一子集,Ak取几个值就得几个子集;
4.对既含正例又含反例的子集,递归调用建树算法;
5.若子集仅含正例或反例,对应分枝标上P或N,返回调用处。
信息增益: 度量以某特征划分数据集前后的信息熵的差值。 信息熵能够表示样本集合的不确定性,因此我们能够通过前后集合信息熵的差值来衡量使用当前特征对于样本集合D划分效果的好坏。
假设划分前样本集合D的熵为 H ( D ) H(D) H(D)。使用某个特征A划分数据集D,计算划分后的数据子集的熵为 H ( D ∣ A ) H(D|A) H(D∣A) 。
信息熵: H ( D ) = − ∑ k = 1 k ∣ C k ∣ ∣ D ∣ l o g 2 ∣ C k ∣ ∣ D ∣ 条件熵: H ( D ∣ A ) = ∑ i = 1 n ∣ D i ∣ ∣ D ∣ H ( D i ) 信息增益: g ( D , A ) = H ( D ) − H ( D ∣ A ) 信息熵:H(D) = - \sum_{k=1}^k \frac{|C_k|}{|D|} log_2 \frac{|C_k|}{|D|} \\ 条件熵: H(D|A) = \sum_{i=1}^n \frac{|D_i|}{|D|} H(D_i) \\ 信息增益: g(D,A)=H(D)-H(D|A) 信息熵:H(D)=−k=1∑k∣D∣∣Ck