决策树是一种解决分类问题的方法。它是一种树形结构,本质是一颗由多个节点组成的树,其中每一个内部节点表示一个属性上的判断,每一个分支代表一个判断结果的输出,每一个叶节点代表一种分类结果。
熵的概念:
熵表示物体内部的混乱程度,决策树中熵的计算公式:
(这里是log以2 为底的)熵值越高,数据不确定性越高
若只有两类则上公式变形为:
信息增益 :
表示由于(选择)数据集的某一特征而使得对数据D的分类不确定性(熵)减少的程度。
公式: g(D,A)=H(D)−H(D|A)
g(D,A):特征A 对数据集D的信息增益。
H(D):数据集D的经验熵
H(D|A):在选择数据集D中的特征A的条件下,数据集D的经验条件熵
信息增益比:
信息增益比即:为其信息增益g(D,A)与训练数据集D关于特征A的值的熵(可以理解成特征A自身的熵,即把特征A当成一个数据集)HA(D)之比
信息增益比本质: 是在信息增益的基础之上乘上一个惩罚参数。特征个数较多时,惩罚参数较小;特征个数较少时,惩罚参数较大。惩罚参数:数据集D以特征A作为随机变量的熵的倒数。
基尼指数:
基尼指数也是一种判断数据纯度的方法:假设有K个类,样本点属于第k类的概率为pk,基尼系数越小,模型的不纯度越低,特征越好。
决策树的生成:
生成原则:树越低越好,选择特征当根节点的时候信息增益越大越好(ID3算法),且信息增益比越大越好(C4.5算法)
决策树的处理
为了防止叶子节点过多导致过拟合,必须要对决策树进行剪枝
先剪枝:
给出一个阈值,当一个节点分割导致的最大的不纯度下降小于a时,就把该节点看作是叶子结点。该方法选择的阈值对决策树的构建有很大的影响。
(1)当阈值a选择的过大的时候,节点的不纯度依然很高就停止了分裂。此时的树由于生长不足,导致决策树过小,分类的错误率过高。因此需要调整a参数的合理范围之内的值。
(2)当阈值a选择的过小的时候,比如a接近0,节点的分割过程近似于原始的分割过程。
后剪枝:
(1)用新的叶子结点替换子树,该叶子结点的类标号由子树记录中的多数类决定。
(2)用子树中最常用的分支替代子树。
通常计算前后预期分类错误率,如果修剪导致预期分类错误率变大,则放弃修剪,保留相应的各个分支,否则就将相应的节点分支修剪删除。
通常采用后剪枝技术是最小的错误剪枝(MEP)技术,即在产生一系列的经过修剪后的决策树候选之后,利用一个独立的测试数据集,对这些经过修剪之后的决策树的分类准确性进行评价,保留下预期分类错误率最小的(修剪后)决策树。