一.决策树
决策树是一个有监督分类模型,本质是选择一个最大信息增益的特征值进行输的分割,直到达到结束条件或叶子节点纯度达到阈值。根据分割指标和分割方法,可分为:ID3、C4.5、CART算法。
1.ID3算法:以信息增益为准则来选择最优划分属性
信息增益的计算是基于信息熵(度量样本集合纯度的指标)
信息熵越小,数据集X的纯度越大。
假设基于数据集 D上建立决策树,数据有 K个类别:
公式(1)中:|Ck|/|D|表示第K类样本的总数占数据集D样本总数的比例。
公式(2)表示是以特征A作为分割的属性,得到的信息熵:Di表示的是以属性A为划分,分成n个分支,第i个分支的节点集合。因此,该公式求得的是以属性A为划分,n个分支的信息熵总和。
公式(3)是以A为属性划分前和划分后的信息熵差值,也就是信息增益,越大越好。
假设每个记录有一个属性'ID',若按照ID进行分割的话,在这个属性上,能够取得的特征值是样本数,特征数目太多,无论以哪一个ID进行划分,叶子节点的值只会有一个,纯度很大,得到的信息增益很大,这样划分出来的决策树没有意义,即,ID3偏向于取值较多的属性进行分割,存在一定的偏好。为减少这一影响,有学者提出了C4.5算法。
2.C4.5基于信息增益率准则 选择最有分割属性的算法
信息增益率通过引入一个被称为分裂信息(Split information)的惩罚项来惩罚取值较多的属性:
其中,IV(a)是由属性A的特征值个数决定的,个数越多,IV值越大,信息增益率越小,这样就可以避免模型偏好特征值多的属性,如果简单按这个规则分割,模型又会偏好特征值少的特征,因此C4.5决策树先从候选划分属性中找出信息增益高于平均水平的属性,在从中选择增益率最高的。
对于连续值属性来说,可取值数目不再有限,因此可以采用离散化技术(如二分法)进行处理。将属性值从小到大排序,然后选择中间值作为分割点,数值比它小的点被划分到左子树,数值不小于它的点被分到右子树,计算分割的信息增益率,选择信息增益率最大的属性值进行分割。
3.CART:以基尼系数为准则选择最优划分属性,可用于分类和回归
CART是一棵二叉树,采用二元切分法,每次把数据分成两份,分别进入左子树、右子树。并且每个非叶子节点都有两个孩子,所以CART的叶子节点比非叶子节点多一。相比于ID3和C4.5,CART的应用要多一些,既可以用于分类也可以用于回归。CART分类时,选择基尼指数(Gini)为最好的分类特征,gini描述的是纯度,与信息熵含义类似,CART中每次迭代都会降低基尼系数。
Gini(D)反映了数据集D的纯度,值越小,纯度越高。我们在候选集合中选择使得划分后基尼指数最小的属性作为最优化分属性。