决策树模型
- 适用对象 : 分类和回归方法
- 主要优点 :模型具有可读性,分类速度快
- 学习步骤 :特征选择、决策树的生成、决策树的修剪
- 主要来源:Quinlan 在 1986 年提出的 ID3 算法和 1993 年提出的C4.5算法, Breiman在1984年提出的CART算法
- 学习本质 : 是从训练数据集中归纳出一组分类规则。
本文先介绍构造分类决策树的方法,然后会在后面的几篇文章中分别介绍决策树的剪枝,缺失值和连续值的处理
特征选择
特征选择的核心 : 在于选取对训练集数据具有分类能力的特征。
信息增益 ID3 算法
为了便于理解,我们先提出来几个概念
1. 熵:这个名词很难能看懂他的意思,不过不用着急,因为他们自诞生的那一天起,就注定会令世人十分费解。克劳德·香农写完信息论之后,约翰·冯·诺依曼建议使用”熵”这个术语,因为大家都不知道它是什么意思。
这个名词是用来表示随机变量不确定性的度量,熵值越大,随机变量的不确定性越大。
序号 | 事件 | 事件发生概率 | 熵值 |
---|---|---|---|
1 | 明天地球爆炸 | 基本上不可能发生,基本没有信息量 | 接近于0 |
2 | 今天是周一,明天是周二 | 一定发生,基本没有信息量 | 接近于0 |
3 | 亚运会男足夺冠 | 有可能发生,信息量极大 | 接近于1 |
2 . 熵值公式:
其中 n 是某个属性的类别数量
3 . 图像曲线
图片来自于 李航《统计学习方法》
4 . 条件熵
条件熵 H(Y|X) 表示在已知随机变量X的条件下随机变量Y的不确定性
定义为
5. 信息增益
信息增益表示得知特征 X 的信息,而使得类 Y 的信息不确定性减少程度。
就像让你去撩一个妹子是不是一个美女,在撩之前,你有80%的可能性
认为她是一个美女,于是她给了你一张背影照片,你瞬间只有40%的可能
认为她是一个美女,那么这40%的减少量就是特征 X 所带来的信息增益
信息增益公式 g(D , A) = H(D) - H(D|A)
由此可以知道,信息增益越大表示这个特征的分类能力更强,在构建决策树的时候,我们优先选择具有较大信息增益的特征进行分类。
下面举一个例子,分别来计算熵,条件熵,信息增益等。
- 熵
一共有15个样本,其中9个借款成功,6个借款失败
- 条件熵
用 A1 A2 A3 A4表示年龄,有工作,有自己的房子,信贷情况这四个特征
用 D1 D2 D3分别表示D 中 A1 取值为青年 中年 老年 的样本子集
不会换行的,好丑 - 信息增益
所以信息增益为 0.971 - 0.888 = 0.083
同理:
ID3 缺陷:
- 不能处理连续值
- 容易优先选择类别最多的特征进行处理,如(ID)
- 只有树的生成,会产生过拟合现象
信息增益率 C4.5 算法
由于ID3算法的缺点,Quinlan后来又提出了对ID3算法的改进C4.5算法(在weka中为J48),C4.5使用了信息增益率来构造决策树,避免了优先选择类别最多的特征进行处理,此外C4.5为了避免过拟合,还提供了剪枝的功能。C4.5还能够处理连续值与缺失值。剪枝与连续值和缺失值的处理在下一篇博客中再介绍。先来看看信息增益率:
但增益率也可能产生一个问题就是,对可取数值数目较少的属性有所偏好。因此,C4.5算法并不是直接选择使用增益率最大的候选划分属性,而是使用了一个启发式算法:先从候选划分属性中找出信息增益高于平均水平的属性, 再从中选择信息增益率最高的
那么对于上面的例子,
针对 A1 所得的结果是 0.888 / 0.971 = 0.914
针对 A2 所得的结果是 0.324 / 0.971 = 0.333
基尼系数 CART
基尼指数(Gini index)也可以用于选择划分特征,像CART(classification and regression tree)决策树(分类和回归都可以用)就是使用基尼指数来选择划分特征。基尼值可表示为:
如果样本集合D根据特征A是否取某一可能值a被分割成D1和D2两部分,在特征A的条件下,集合D的基尼指数定义为
基尼指数 Gini(D)表示集合D的不确定性,基尼指数Gini(D,A)表示经A = a分割后集合D的不确定性,基尼指数越大越好,所以我们在选择特征的时候选择Gini(D,A)小的值
求特征的基尼系数
所以说A3是最优特征,A3 = 1是最佳切分点