一、决策树的概论
决策树是一种基本的分类与回归方法,是表示基于特征对示例进行分类与回归的树形结构。决策树可以转换成一个if-then规则的集合,也可以看作是定义在特征空间划分上的类的条件概率分布。
一般的,一颗决策树包含一个根结点,若干个内部节点和若干个叶结点,每个叶结点对应于决策结果,其他的每个结点则对应于一个属性测试,生成决策树的基本流程遵循‘分而治之’策略。具体算法如下:
输入:训练集D={(,
),...,(
,
)};属性集A={
,...,
}.
过程:
1.生成节点node;
2.if D中的样本全属于同一类别C then
3. 将node标记为C类叶节点;return
4.end if
5.if A= or D中样本在A中取值相同 then
6. 将node标记为叶结点,其类别标记为D中样本数最多的类;return
7.end if
8.从A中选择最优划分的属性;
9.for 的每一个值
do
10. 为node生成一个分支;令表示D中在
上取值为
的样本子集;
11. if 为空 then
12. 将分支结点标记为叶结点,其类别标记为D中样本最多的类;return
13. else
14. 递归该函数;
15. end if
16.end for
输出:以node为结点的一颗决策树
二、决策树中特征选择
2.1 信息增益-应用到ID3算法(选取最大的值)
特征A对训练集D的信息增益g(D,A),定义训练集D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差,即:
g(D,A) = H(D)-H(D|A)
其中有: