决策树

54 阅读2分钟

决策树是什么?他是一种常见的机器学习方法,从训练数据里面学得一个树状结构,通过一系列的决策,对数据进行分类。

image.png

怎么构建决策树?

(1) 决策树的构建是一个递归过程,不断地从样本特征中选择最优特征,并根据该特征对训练数据进行分割 (2) 决策树的构建过程对应着对样本特征空间的划分

步骤:

  1. 选择一个最优特征,作为根结点,并按照这一特征将训练数据集分割成子集,每个子集作为根结点的一个子结点
  2. 如果存在已经能够实现对样本正确分类的子结点,则将其标记为叶结点,将其对应的数据样本分到相关的类型中去
  3. 继续划分

在上一层划分得到的(非叶)子结点上,继续选择当前最优特征对其进行分割 如果分割后的子集已经能够实现对样本的正确分类,则标记为叶结点 否则,按照上述思路继续进行划分,直到所有子结点都为叶结点为止

这个步骤看上去有点抽象,我们这里引入一个新的概念,叫信息增益(表示特征𝑎在样本集𝐷中不同类型样本之间表现出的差异性)

image.png

image.png

image.png

例如:

image.png

第一步我们是进行特征提取:比如本例

通过年龄,性别,收入,婚姻状况判断是否买房。

通过数我们可以发现,数据八条,三人买房。

那么总熵就是:-(5/8log2(5/8)+3/8log2(3/8));

对应的条件熵:

假设我们先算年龄,年龄分为20-30,30-40,40+三个阶段,当年龄处于20-30岁区间内(共有ID为1,4,8的三人),我们观察他们是否买房,其中只有ID=4的人买房了

年龄第一步熵:-(2/3log2(2/3)+1/3log2(1/3))

同理:第二步年龄熵:-(1log2(1))

第三步:-(2/3log2(2/3)+1/3log2(1/3))

那么条件年龄的熵为:3/8 * 第一步熵 + 2/8 * 第二步熵 + 3/8 * 第三步熵

信息增益=总熵-条件年龄熵

同理可以计算嵌套条件的信息增益。

那么构建树,第一层就是按照本次信息增益最大的划分。同理第二层,以条件1的结构重新计算信息增益