决策树
1. 概述
决策树就是一棵树,一个有终止模块的流程图,终点就是分类的结果。
一般来说决策树学习由三个步骤组成:特征选择、决策树构建、决策树修剪。
1.1 优点
- 计算复杂度不高
- 输出结果易于理解
- 对中间值的缺失不敏感
- 可以处理不相关特征数据
1.2 缺点
- 可能产生过度匹配的问题
1.3 数据适用范围
数值型与标称型数据
2. 经验熵与信息增益
决策树学习的关键在于如何选择最优的划分属性,所谓的最优划分属性,对于二元分类而言,就是尽量使划分的样本属于同一类别,即“纯度”最高的属性。那么如何来度量特征(features)的纯度,这时候就要用到“经验熵(information entropy)”。
2.1 经验熵
先来看看信息熵的定义:假如当前样本集DDD中第kkk类样本所占的比例为pi(k=1,2,3,⋅⋅⋅,∣I∣)p_i(k=1,2,3,···,|I|)pi(k=1,2,3,⋅⋅⋅,∣I∣)为类别的总数(对于二元分类来说,i=2i=2i=2)。则样本集的信息熵为:
pk=∣Ck∣D
p_k=\frac{|C_k|}{D}
pk=D∣Ck∣
H(D)=−∑k=1Kpklog2pk H(D)=-\sum_{k=1}^Kp_klog_2p_k H(D)=−k=1∑Kpklog2pk
H(D)=−∑k=1K∣Ck∣∣D∣log2∣Ck∣∣D∣
H(D)=-\sum_{k=1}^K\frac{|C_k|}{|D|}log_2\frac{|C_k|}{|D|}
H(D)=−k=1∑K∣D∣∣Ck∣log2∣D∣∣Ck∣
H(D)H(D)H(D)的值越小,则D的纯度越高。
反应了信息增益的一个缺点:该属性能取得值越多,信息增益,越偏向这个
2.2 信息增益
信息增益就是划分数据集前后,信息发生的变化称为信息增益。
- 输入:训练数据集DDD和特征AAA;
- 输出:特征AAA对训练数据DDD的信息增益g(D,A)g(D,A)g(D,A)
信息增益表示了得知特征X的信息而使得类Y的信息的不确定性性减少的程度。
2.2.1 经验条件熵
计算特征AAA对数据集DDD的经验条件熵H(D∣A)H(D|A)H(D∣A)
H(D∣A)=∑i=1n∣Di∣∣D∣H(Di)
H(D|A)=\sum_{i=1}^n\frac{|D_i|}{|D|}H(D_i)
H(D∣A)=i=1∑n∣D∣∣Di∣H(Di)
=−∑i=1n∣Di∣∣D∣∑k=1K∣Dik∣∣Di∣log2∣Dik∣∣Di∣ =-\sum_{i=1}^n\frac{|D_i|}{|D|}\sum_{k=1}^K\frac{|D_{ik}|}{|D_i|}log_2\frac{|D_{ik}|}{|D_i|} =−i=1∑n∣D∣∣Di∣k=1∑K∣Di∣∣Dik∣log2∣Di∣∣Dik∣
- DikD_{ik}Dik的意思是在某一特征下的特征样本中满足训练目标的个数
- DiD_iDi指的是该特征的样本容量
2.2.2 信息增益计算与信息增益比
信息增益=经验熵-经验条件熵
g(D,A)=H(D)−H(D∣A)
g(D,A)=H(D)-H(D|A)
g(D,A)=H(D)−H(D∣A)
一般而言,信息增益越大,则表示使用特征 对数据集划分所获得的“纯度提升”越大。所以信息增益可以用于决策树划分属性的选择,其实就是选择信息增益最大的属性,ID3算法就是采用的信息增益来划分属性。
信息增益比
信息增益比gR(D,A)g_R(D,A)gR(D,A)为信息增益g(D,A)g(D,A)g(D,A)与训练数据集DDD关于特征AAA的值熵HA(D)H_A(D)HA(D)值之比:
gR(D,A)=g(D,A)HA(D)
g_R(D,A)=\frac{g(D,A)}{H_A(D)}
gR(D,A)=HA(D)g(D,A)
其中:
HA(D)=−∑i=1n∣Di∣∣D∣log2∣Di∣∣D∣
H_A(D)=-\sum_{i=1}^n\frac{|D_i|}{|D|}log_2\frac{|D_i|}{|D|}
HA(D)=−i=1∑n∣D∣∣Di∣log2∣D∣∣Di∣
nnn是特征AAA取值的个数。