1. 前言
什么是决策树?
- 类似于流程图的树结构
- 每个内部节点表示在一个属性上的测试
- 每个分支代表一个测试输出
- 每个树节点代表类或类分布
决策树的生成由两个阶段组成
- 决策树的构建
- 开始时,所有的训练样本都在根节点
- 递归地去通过选定的属性,来划分样本
- 树剪枝
- 许多分支反映的是训练数据中的噪声和孤立点,树剪枝试图检测和剪去这种分支
- 决策树的使用:对未知样本进行分类
- 通过将样本的属性值与决策树相比较
2. 构建决策树的基本算法
Hunt算法
- 信息增益——Information gain(ID3)
- 增益比率——Gain ration(C4.5)
- 基尼指数——Gini index
三种著名的决策树
Cart:基本决策树算法
ID3:利用增益比较不纯性,停止准则为当所有的记录属于同一类时,停止分裂,或当所有的记录都有相同的属性时,停止分类。
C4.5:ID3的改进版本,也是最流行的分类算法。采用多重分支和剪枝技术。
2.1 ID3算法
ID3使用信息增益作为属性选择度量。选择具有最高信息增益的属性作为节点N的分裂属性。
Entropy(熵)是不纯性的度量之一
可以借助数据来直观感受一下这个计算公式。
- 数据集D的不纯度越高,期望信息,即熵(entropy)的值大
- 划分所依据的特征越有区分度,划分得到的数据子集的D'的熵越小
由上述可知,一个集合的期望信息(熵)的求法。现在我们要探讨一下怎么样的一个划分算是一个好的划分!
2.1.1 划分的期望信息
假设我们按某属性A去划分D中的元组,假设划分成v个子集。
需要的期望信息越小,分区的纯度就越高。
使用A进行划分后,我们是希望熵变小的,所以Gain(A)越大越好。