1.介绍
- ID3树与CART树的区别:
- ID3算法中,选择的是信息增益来进行特征选择,信息增益大的特征优先选择。
- 而在C4.5中,选择的是信息增益比来选择特征,以减少信息增益容易选择特征值多的特征的缺点。
- 但是无论是ID3还是C4.5,都是基于熵的模型,里面会涉及到大量的对数运算,能不能简化一下?
- GINI系数的计算公式:
- 假设有数据集D,定义GINI指数:
G I N I ( D ) =    ∑ i = 1 k p k ⋅ ( 1 − p k ) = 1 − ∑ i = 1 k p k 2 GINI\left( D \right)=\; \sum_{i=1}^{k}{p_{k}}\cdot \left( 1-p_{k} \right)=1-\sum_{i=1}^{k}{p_{k}}^{2} GINI(D)=i=1∑kpk⋅(1−pk)=1−i=1∑kpk2
- 假设有数据集D,定义GINI指数:
- 记住上面的公式我们会在后面计算的时候用到
- 简单分析:
- 从公式中可以看出来,基尼指数的意义是从数据集D中随机抽取两个样本类别标识不一致的概率。基尼指数越小,数据集的纯度越高。
- 相比于信息增益,信息增益比等作为特征选择方法,基尼指数省略了对数计算,运算量比较小,也比较容易理解,所以CART树选择使用基尼系数用来做特征选择。
2.GINI系数计算过程
- 首先给出一个数据集D,这是一个关于是否出门的数据集,最后一列是决策列,即标签列,我们希望通过前面的一系列特征来决策最终会不会出去玩。
- 下面我们就逐个计算每个特征的GINI系数。从而来决定选用哪个特征来作为第一个分支节点。
- 值得注意的是,Cart树是一个二叉树,所以在计算Gini系数的时候,还要考虑,要以哪个特征值作为切分。这个也是区别于ID3 和C4.5算法的一点。
- 假设我们按顺序计算。
Day | Outlook | Temp. | Humidity | Wind | Decision |
---|---|---|---|---|---|
1 | Sunny | Hot | High | Weak | No |
2 | Sunny | Hot | High | Strong | No |
3 | Overcast | Hot | High | Weak | Yes |
4 | Rain | Mild | High | Weak | Yes |
5 | Rain | Cool | Normal | Weak | Yes |
6 | Rain | Cool | Normal | Strong | No |
7 | Overcast | Cool | Normal | Strong | Yes |
8 | Sunny | Mild | High | Weak | No |
9 | Sunny | Cool | Normal | Weak | Yes |
10 | Rain | Mild | Normal | Weak | Yes |
11 | Sunny | Mild | Normal | Strong | Yes |
12 | Overcast | Mild | High | Strong | Yes |
13 | Overcast | Hot | Normal | Weak | Yes |
14 | Rain | Mild | High | Strong | No |
2.1 计算OutLook的Gini系数
- 首先我们在D数据集中选择出OutLook列的一些数据情况。
- 看下面的表是经过统计得来的:
- 每个特征值对应的累呗的个数,以及总的个数,我们需要这个。
- 回忆一下计算公式: G i n i = 1