李航《统计学习方法》中的决策树介绍
- 决策树(decisiontree)是一种基本的分类与回归方法。决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程。它可以认为是if-then规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。其主要优点是模型具有可读性,分类速度快。
- 学习时,利用训练数据,根据损失函数最小化的原则建立决策树模型。预测时,对新的数据,利用决策树模型进行分类。
- 决策树学习通常包括3个步骤:特征选择、决策树的生成和决策树的修剪。这些决策树学习的思想主要来源于由Quinlan在1986年提出的ID3算法和1993年提出的C4.5算法,以及由Breiman等人在1984年提出的CART算法。
特征选择
- 决策树学习的关键在于:在每个节点上如何选择最优划分属性。
- 在引例中,在根节点上,优先选择了“纹理”作为划分属性,这种选择是有依据的。
- 一般而言,随着划分过程不断进行,我们希望决策树的分支节点所包含的样本尽可能属于同一类别,即节点的“纯度”越来越高。因此我们要找一个指标,去衡量划分数据集后“纯度提升的幅度”,然后选择能让“纯度提升的幅度”最大的特征去划分数据集。
- 常用的衡量“纯度提升的幅度”的指标有:信息增益、信息增益率、基尼指数。
- 基于信息增益生成决策树的算法,称为ID3算法。
- 基于信息增益率生成决策树的算法,称为C4.5算法。
- 基于基尼指数生成决策树的算法,称为CART算法。
- 假设有一个训练集,有4个特征A、B、C、D;标记={0,1}。我们发现:无论ABC取什么,标记都和D的取值一样,也就是说,D是最主要的因素。如果用D作为划分特征的话,我们的决策树将会十分精致(模型即简单又准确);如果没选D,那么遗憾了,模型可能会变得复杂(有过拟合的风险),还会额外增加计算量。
使用ID3算法生成决策树
ID3算法是基于信息增益生成决策树的算法。
首先定义“信息熵”,它是度量样本集合纯度的一种指标。假定当前样本集合D中第k类(k