决策树
熵: 热力学中表征物质状态的参量之一,用符号S表示,其物理意义是体系混乱程度的度量
信息熵: 离散随机事件出现的概率。
一个系统越是有序,信息熵越低;反之,越是杂乱无章,信息熵越高。
信息熵可以被认为是系统有序化程度的度量
熵举例:
世界杯决赛32强产生,若32支球队夺冠概率相同,那么信息熵是:
H=-((1/32)*log(1/32)+(1/32)*log(1/32)+…+(1/32)*log(1/32))=-log(1/32)=log(32)=5(bit)
其含义为5位数据能表示上述事情
信息增益:
信息增益 = entroy(前) - entroy(后)
信息增益是特征选择的一个重要指标,它定义为一个特征能够为分类系统带来多少信息,带来的信息越多,说明该特征越重要,相应的信息增益也就越大。
信息增益代表了在一个条件下,信息复杂度(不确定性)减少的程度。
对于待划分的数据集D,其 entroy(前)是一定的,但是划分之后的熵 entroy(后)是不定的,entroy(后)越小说明使用此特征划分得到的子集的不确定性越小(也就是纯度越高),因此 entroy(前) - entroy(后)差异越大,说明使用当前特征划分数据集D的话,其纯度上升的更快。
而我们在构建最优的决策树的时候总希望能更快速到达纯度更高的集合,这一点可以参考优化算法中的梯度下降算法,每一步沿着负梯度方法最小化损失函数的原因就是负梯度方向是函数值减小最快的方向。
同理:在决策树构建的过程中我们总是希望集合往最快到达纯度更高的子集合方向发展,因此我们总是选择使得信息增益最大的特征来划分当前数据集D。
信息增益比:
信息增益比 = 惩罚参数 * 信息增益
信息增益比本质: 是在信息增益的基础之上乘上一个惩罚参数。特征个数较多时,惩罚参数较小;特征个数较少时,惩罚参数较大。
惩罚参数:数据集D以特征A作为随机变量的熵的倒数,即:将特征A取值相同的样本划分到同一个子集中(之前所说数据集的熵是依据类别进行划分的)
当特征取值较少时HA(D)的值较小,因此其倒数较大,因而信息增益比较大。因而偏向取值较少的特征。
算法:
ID3,C45,C50,CART…
剪枝:
预剪枝(Pre-Pruning):构造决策树的同时进行剪枝
后剪枝(Post-Pruning):决策树构建完成后按层次进行剪枝
决策树实例代码:
根据以下数据构建