《机器学习》- 决策树
来源:互联网 发布:淘宝链接怎么发给别人 编辑:程序博客网 时间:2024/05/29 14:32
重新学了一遍周志华老师《机器学习》中的决策树,在此做个学习整理与总结吧。
决策树(decision tree)是一类常见的机器学习方法,用于分类问题。一般来说,一颗决策树包含一个根节点,若干个内部节点和若干个叶子节点,叶子节点对应于决策结果,根节点和内部节点则对应于一个属性测试,从根节点到每个叶节点的路径对应了一个判定测试序列。决策树学习的目的是为了产生一颗泛化能力强的决策树。
如上图,则是一个典型的二分类决策树,那么自然而然就会想到,根节点和内部节点该怎么选择呢?决策树按照节点选择规则不同,共分三种:ID3决策树、C4.5决策树、CART决策树,下面将以如下的西瓜数据集为例,详细介绍这三种决策树。
在介绍各种决策树之前,先介绍一个概念:“信息熵”,信息熵是度量样本集合纯度的一种指标,假设当前样本集合
ID3决策树
从西瓜数据集表中可以看出,该数据集包含17个样本,标记为是否为好瓜,其中,正例为标记为好瓜的数据,占
ID3决策树则是以“信息增益”为判定标准,来对属性进行划分的,属性
一般而言,信息增益越大,则意味着使用属性
对于西瓜数据集,我们要计算当前属性集合{色泽,根蒂,敲声,文理,脐部,触感}中每个属性的信息增益,以属性“色泽”为例,它有3个可能的取值:{青绿,乌黑,浅白}。若使用该属性对
子集
子集
子集
则,根据信息熵公式,可计算出用“色泽”划分之后所获得的3个分支节点的信息熵为:
于是,可算出属性“色泽”的信息增益为
类似的,可以计算出其他属性的信息增益,然后再根据信息增益最大的属性作为根节点,对数据进行划分,然后,决策树将对每个分支结点做进一步划分。
C4.5决策树
实际上,信息增益准则对可取值数目较多的属性有所偏好,为了减少这种偏好带来的不利影响,C4.5决策树算法不直接使用信息增益,而是使用“增益率”来选择最优划分属性,增益率定义为:
其中,
以属性“色泽”为例,可算出属性“色泽”的信息增益率为
类似的,可以计算出其他属性的信息增益率,需要注意,增益率准则对可取值数目较少的属性有所偏好,因此,C4.5算法并不是直接选择增益率最大的候选划分属性,而是先从候选集中找出信息增益高于平均水平的属性,然后再从中选择增益率最高的。
CART决策树
CART决策树使用“基尼指数”来选择划分属性,数据集
直观来说,
属性
以属性“色泽”为例,可算出属性“色泽”各个取值的基尼值为
类似的,可以计算出其他属性的基尼指数,然后选择那个划分后基尼指数最小的属性作为最优划分属性。
- 机器学习算法---决策树
- 机器学习2决策树
- 机器学习-决策树
- 机器学习---决策树
- 机器学习实战---决策树
- 机器学习之决策树
- 机器学习-决策树
- 机器学习实战-决策树
- 面试:机器学习--决策树
- 机器学习实战---决策树
- 机器学习实战 决策树
- 【机器学习】决策树
- 机器学习 之 决策树
- [机器学习实战]-决策树
- 机器学习--决策树
- 机器学习-决策树
- 机器学习之决策树
- 机器学习 - 决策树
- C++ 多态的简单示例
- C++学习之继承篇(is a:用子类对象给基类对象赋值或初始化)
- Android Canvas api和使用方式(2)
- EL技术和JSTL技术
- RN6752 CVBS转BT656/601 支持720P,1080N,替代GM7150BC,CJC5150,TVP5150等AHD芯片
- 《机器学习》- 决策树
- elasticsearch入门
- redis (error) NOAUTH Authentication required.
- 代文and博客
- for 和增强foreach的区别
- 判断上传图片的尺寸和大小demo
- 什么是临界区
- [bzoj3262]陌上花开 三维偏序 cdq分治+树状数组
- c++类的默认构造函数(前三个:构造,拷贝构造,析构)