决策树学习笔记
决策树的形成是一种递归的方法。
一、递归
1 递归返回
三种情况会导致递归返回:
1. 当前包含的样本全属于同一类别划分,无需再划分
2. 当前属性集为空,或是所有样本在所有属性上取值相同,无法划分
3. 当前节点包含的样本集合为空,不能划分
2 划分选择
随着不断的划分,我们希望决策树的每个分支结点所包含的类别尽可能相同,即‘纯度’越来越高。
纯度又可以用以下两种方式表示:
1. 信息熵;2.基尼指数
1 信息熵
信息熵越小,说明不确定性越小,表示纯度越高。
信息增益等于当前的信息熵减去分类后各个节点的信息熵的加权和,当信息增益最大的时候,用这个属性划分所获得的‘纯度’提升越大(划分后的纯度高),即选择分类后各个节点的信息熵的加权和要最小的那个属性。
2基尼指数
基尼指数表示两个东西不一致的概率,当基尼指数越小说明两个东西越一致,即纯度越高。
所以在选择属性的时候选择那个使得划分后基尼指数最小的属性作为最优划分属性。
二、减枝
剪枝是防止过拟合的手段。
有两种方式:
1.预剪枝(prepruning)
2.后剪枝(postpruning)
需要把数据集分为两个部分,一个是训练集,另一个为验证集。
预剪枝是在决策树生成的过程中,对每个结点的划分前先进行估计,不能带来泛化能力提升的停止该结点的划分。
后剪枝是在决策树完成以后,然后考察每个结点减去以后对泛华能力是否有提高。若减去后有提高泛化能力则剪枝。
三、连续值处理
对于连续值处理的方式是采用二分法(bi-partition)。对n个不同取值的连续值,可以有n-1个切分点,评估每个切分点切分后的信息增益。选择信息增益最大的切分点作为二分点。
与离散属性不同的是,若当前节点划分属性为连续属性,则该属性还可以作为其后代结点的划分属性。