一、纯度的含义
我们知道,决策树采用贪婪思想进行分裂,也就是说,对于每次分裂,模型都希望本次的分裂结果是当前的最优分裂结果,那么如何选择划分属性才能得到最优分裂结果呢?
针对上述问题,最理想的情况当然是找到一个刚好能将不同类别分开的属性,但是大多数情况下很难找到这样的属性,所以我们退而求其次,希望每一次分裂之后子节点中的数据尽量”纯”,也就是说 决策树的分支节点所包含的样本尽可能属于同一类别, 这里的纯度就表示让目标变量的分歧最小的度量值。
举个例子,假设有集合A和集合B(如下),按照纯度指标来说,集合B纯度要大于集合A的纯度。换句话说,集合A的不纯度更大。
A: [1,2,3,4,5,5]
B: [1,1,1,2,2,2]
因此,选择划分属性就是要找出能够使所有子节点数据最纯的属性,那么,如何度量节点的纯度呢?主要有两种计算方法:信息熵和基尼系数。
二、信息熵的含义
在信息学中,信息熵表示对信息不确定性的度量,信息的不确定性越大,信息熵就越大。这里的不确定性也就是我们上面所说的不纯度,也就是说,信息的不纯度越大则对应的信息熵越大。关于信息熵,信息学之父香农给出了计算公式:
代表当前集合D中第类样本所占的比例。不确定性越大,说明包含的信息量越大,信息熵也就越高。举例说明,假设有集合1和集合2,划分信息如下:
集合 1:8人去打游戏,2人不去打游戏;
集合 2:5人去打游戏,5人不去打游戏。
对集合1进行节点划分,则打游戏的概率是8/10,不打游戏的概率是2/10,带入上述信息熵公式可以计算得出此时的信息熵为0.72;同理,得到集合2的信息熵为1,具体过程如下:
从上面的例子中可以看出,信息熵越大,纯度越低。当集合中的所有样本均匀混合时,信息熵最大,纯度最低。