决策树的学习包括三个步骤:特征选择,决策树的生成,决策树的剪枝
1.特征选择
信息增益: 表示知道特征X的信息而使分类的不确定性减少的程度。
如何计算:集合D的经验熵 - 给定特征A下集合D的条件经验熵。
计算每个特征下的信息增益,选择信息增益最大的特征。
缺点:偏向于选择取值较多的特征,可以使用信息增益比来改进。
2.决策树生成
ID3 分类
核心:在各个结点使用信息增益的准则来选择特征,递归的构建决策树。
具体做法:从根节点开始,计算所有特征的信息增益,选择信息增益最大的特征作为结点的特征,根据不同的取值来建立子结点,然后每个子结点递归的调用以上方法,直到所有特征的信息增益最小或没有特征选择为止。
C4.5 分类
用信息增益比来选择特征,在树的构造过程中会进行剪枝优化。
为什么要用信息增益比?
在使用信息增益准则时,取值多的特征往往会得到大的信息增益,这样得到的子结点也会多,数据划分的更细,模型会变复杂。 使用信息增益比,会对取值多的特征加上惩罚,解决了偏向于选择取值多的特征。
ID3可以对缺失值比较敏,C4.5和CART可以处理缺失值
ID3可以只能处理离散型变量,C4.5和CART可以以处理连续型变量
ID3和C4.5可以在每个结点产生多分支,每个特征在层级之间不能重复利用;CART在每个结点产生两个子节点,且每个特征可以重复利用
CART:既可以做分类,也可以做回归
二叉树
分类树:Gini
回归树:平方损失最小选择特征
CART算法:
1.决策树的生成:基于训练数据集生成决策树,生成的决策树要尽量大。
2.决策树的剪枝:用验证数据集对以生成的树进行剪枝并选择最优子树。这时用损失函数最小作为剪枝标准。
决策树的剪枝:用验证数据集对以生成的树进行剪枝并选择最优子树。这时用损失函数最小作为剪枝标准。
对于分类问题,CART树产生的是一个实际的分数,而非一个确定的类别,这有利于高效的优化算法
一棵树的复杂度由其深度和叶子节点数来决定