决策树与随机森林

  • 既可以做分类也可以做回归问题

决策树算法以树形结构表示数据分类的结果。每个决策点实现一个具有离散输出的测试函数,记为分支。

根节点 非叶子节点 (即为决策点) 叶子节点 (代表分类后所获得的分类标记) 分支 (代表测试的结果)

1、训练阶段

  1. 从给定的训练数据集DB,构造出一颗决策树<br />![](https://cdn.nlark.com/yuque/__latex/4c4ac57d693022f1a1e117623885fa42.svg#card=math&code=claas%20%3D%20DecisionTree%EF%BC%88DB%EF%BC%89&height=24&width=220)<br />2、 分类阶段
  2. 从根开始,按照决策树的分类属性逐层往下划分,直到叶节点,获得概念(决策、分类)结果

张欣宇-决策树与随机森林 - 图1

P(X,Y) = P(X)* P(Y) X和Y 两个事件相互独立 Log(XY) = Log(X)+ Log(Y)

H(X),H(Y)当成他们发生的不确定性

P(几率越大)→ H (X)值越小

P(几率越小)→ H (X)值越大

熵 是无序性(或不确定性)的量度指标。
张欣宇-决策树与随机森林 - 图2
Gini系数
张欣宇-决策树与随机森林 - 图3
熵 、 Gini系数 值越大,表示越混乱

构造决策树,当系统的信息熵降为0时,就没必要往下构造决策树了,此时叶子节点都是纯的(这只是理想情况)。最坏的情况下,决策树的高度为属性(决策变量)的个数,叶子节点不纯(这意味着我们要以一定的概率来做出抉择)

构造树的基本想法是随着树深度的增加,节点的熵迅速地降低。熵降低的速度越快越好,这样我们有希望得到一颗高度最矮的决策树。决策树过高容易造成过拟合的情况。

ID3:信息增益 gian(x) = 熵的变化

C4.5:信息增益率

  • 是ID3算法的扩展
  • 能处理连续型的属性。首先讲连续型属性离散化,把连续型属性的值分成不同的区间,依据是比较每个分裂点的Gian值的大小。
  • 缺少数据的考虑:在构建决策树时,可以简单地忽略缺失数据,即在计算增益时,仅考虑有属性的值记录

CART:Giini系数

评价函数: 张欣宇-决策树与随机森林 - 图4 损失函数 : 叶子节点个数 x 熵值)

剪枝

预剪枝

在构建决策树的过程中,提前停止

后剪枝

决策树构建好,然后开始裁剪

张欣宇-决策树与随机森林 - 图5

叶子节点个数越多,损失越大 (加入了惩罚系数,对过拟合的现象有一定解决)

随机森林

随机森林就是通过集成学习的思想将多棵树集成的一种算法,它的基本单元是决策树,而它的本质属于机器学习的一大分支——集成学习(Ensemble Learning)方法。

随机森林的双重随机性

  • 数据选择随机性
  • 特征选择随机

采样方式

  1. **Bootstraping**:有放回的采样
  2. **Bagging** :有返回的采样N个样本一共建立分类器