决策树
Decision Tree
决策树是一种基于 if-else 规则的监督学习算法,算法的结构是树形的。可用于解决分类问题和回归问题。
决策树是基于树结构来进行决策的。
目标变量(在叶节点中表示)可以采用连续值(通常是实数)的决策树称为回归树
。
决策树学习的目标是训练出一棵具有泛化能力强,即处理新样本能力强的决策树。
决策树学习的本质:从训练集中归纳出一组分类规则。
1. 决策树的组成
决策树有一个根节点、若干内部节点和若干叶节点构成。
根节点:代表整个样本集。一棵决策树只有一个根节点。
内部节点:代表一个个问题,或者说属性测试。
叶节点:代表决策结果。
2. 决策树的运作过程
对样本集中的每个样本点进行属性测试,根据判定结果决定样本点被分到哪个分支,重复这个过程,直到到达叶节点处,最后将样本实例分到叶节点的类中。
回答一系列的 是/否问题(不一定是是\否问题,还可以是多个选项的选择题) 选择题 ,直到到达叶节点处。
例子
① 用户向银行贷款的例子:例子
② 决定某人是否在特定的一天打棒球的例子:
朝外看天气情况:情?阴?雨?如果是晴天,湿度高不高?如果是雨天,风大不大?
3. 决策树学习的步骤
第一步:特征选择
决定使用哪些特征来做判断。选择与分类结果相关度最高的特征,也就是分类能力较强的特征。选择的依据通常是信息增益
。
第二步:决策树生成
选择好特征后,就从根节点触发,对节点计算所有特征的信息增益,选择信息增益最大的特征作为节点特征,根据该特征的不同取值建立子节点;对每个子节点使用相同的方式生成新的子节点,直到信息增益很小或者没有特征可以选择为止。
决策树的生成是个递归的过程。
第三步:剪枝
这一步用于对抗过拟合。通过主动去掉部分分支来缓解过拟合问题。
4. 典形的决策树算法
ID3
算法:最早提出的决策树算法,用信息增益来选择作为决策的特征。ID代表“迭代二分法”
C4.5
算法:ID3 的改进版,不直接使用信息增益,而是使用信息增益比
来选择特征。
CART
:全称 Classification and Regression Tree
,分类和回归树,该决策树算法既可用于解决分类问题,也可用于解决回归问题,用基尼系数
作为度量何时分割。
5. 决策树的特点
决策树用于建模非线性关系
容易过拟合。
ID3 树和信息增益
ID3树的全部意义在于最大限度地提高信息收益。信息增益是使用熵作为杂质测量的标准。
熵是(dis)顺序的衡量标准,它能够表示信息的缺失流量,或者数据的混乱程度。缺失大量信息的东西被认为是无序的(即具有高度熵),反之则是低度熵。
假设一个凌乱的房间,地板上东西胡乱堆放,房间非常乱,那么它就是熵很高、信息增益很低。现在你开始清理这个房间,把散落各处的东西归类。那么就是低熵和高信息增益。
ID3树将始终做出获得最高收益的决定,更多信息、更少的熵。
在上面的树中,你可以看到起始点的熵为 0.918,而停止点的熵为 0。这棵树以高信息增益和低熵结束,这正是我们想要的。具有低熵的物质也具有高纯度,高信息增益=低熵=高纯度。
CART 树与基尼指数
和 ID3 算法不同,CART 算法的决策树旨在最小化基尼指数。
基尼指数可以表示数据集中随机选择的数据点可能被错误分类的频率。我们总是希望最小化错误标记数据可能性,这就是 CART 树的目的。
基尼指数可以表示从数据集中随机选择的数据点被错误分类的频率?
随机森林
随机森林是一种集合模型。
集合模型是指由许多其他模型组成的集合。
上图的随机森林就是由一堆决策树组成的集合模型。
随机森林通过使用引导聚集算法加粗样式
(装袋算法
)来对抗过拟合。