决策树学习的三个步骤:特征选择,决策树生成,决策树剪枝。
特征选择
特征选择在于选取对训练数据具有分类能力的特征。那么如何选择呢?选择训练数据的所有特征中,信息增益或者信息增益比最大的特征。
决策树生成算法
经典算法:ID3算法,C4.5算法,基尼指数(CART生成算法)。
1 ID3算法
从根节点开始,在决策树各个节点上应用信息增益准则选择特征,递归地构建决策树。相当于用极大似然法进行概率模型的选择。
2 C4.5算法
C4.5算法是对ID3算法的改进,不是用信息增益,而是用信息增益比来选择特征。
3 基尼指数算法
根据训练数据集D,从根结点开始,递归地对每个结点进行以下操作,构建二叉决策树:
- 设结点的训练数据集为D,计算现有特征对该数据集的Gini系数。此时,对每一个特征A,对其可能取的每个值a,根据样本点对A=a的测试为“是”或 “否”将D分割成D1和D2两部分,计算A=a时的Gini系数。
- 在所有可能的特征A以及它们所有可能的切分点a中,选择Gini系数最小的特征及其对应的切分点作为最优特征与最优切分点。依最优特征与最优切分点,从现结点生成两个子结点,将训练数据集依特征分配到两个子结点中去。
- 对两个子结点递归地调用步骤1~2,直至满足停止条件。
生成CART决策树。
算法停止计算的条件是结点中的样本个数小于预定阈值,或样本集的Gini系数小于预定阈值(样本基本属于同一类),或者没有更多特征。
详细见---> CART算法解析
决策树的剪枝
通过极小化决策树的整体损失函数来实现。定义损失函数,分别计算一组叶节点回缩到父节点之前与之后的整体树的损失函数值,若之后小于之前,那么进行剪枝,即将父节点变成新的叶节点。