机器学习之决策树和随机森林及代码示例

本文详细介绍了决策树的学习原理,包括信息熵、信息增益、信息增益率、基尼值等概念,并探讨了决策树的剪枝方法。接着,文章讲解了随机森林的Bagging策略及其改进,指出随机森林通过并行生成多棵树以提高泛化能力。最后,通过代码示例展示了如何使用决策树和随机森林进行手写数字的预测。
摘要由CSDN通过智能技术生成

一、决策树

决策树学习是机器学习中一类常用的算法。在决策树中,根节点包含样本全集。每个非叶子节点表示一种对样本的分割,通常对应一个划分属性,其将样本分散到不同的子节点中。每个叶子节点对应于决策的结果。因此从根节点到每个叶子节点的路径对应了一个判定序列。

可与下图做比对:

这里写图片描述

在上图的决策树中,划分属性有年龄、是否为学生、信用率。

划分属性一般采用样本的某个特征或多个特征的组合。

决策树学习是一种有监督学习,根据样本为基础,自顶向下通过递归的方法来对样本进行划分属性。其基本思想是以 信息熵 为度量来构造一棵熵值下降最快的树,直到叶子节点处的熵值为0。

二、信息熵

1. 定义

“信息熵”是度量样本集合纯度最常用的一种指标。假定在当前样本集合D中有k类样本(样本的标签有k类),其中第i类样本所占样本集合的比例为pi(i = 1,2,…..,k),则样本集合D的信息熵可定义为

这里写图片描述这里写图片描述

其中 这里写图片描述 表示第 i 类样本的个数, |D| 表示样本集合D中的样本个数。

(熵:Entropy)

2. 信息熵与纯度的关系

由信息熵的公式,我们可以看出,当样本集合中只存在一类样本时,k=1,p1=1,这时信息熵Ent(D)的值为0;当样本集合存在2类样本时,若每类样本的概率为1/2,这时信息熵Ent(D)的值为1;…… 当信息熵Ent(D)的值越,则样本集合D的纯度越

若我们需要的决策树是以 信息熵 为度量来构造一棵样本的熵值下降最快、结点纯度越来越高的树。那我们怎么对样本集合分割?如何选择我们的最优划分属性(特征)来作为我们分割样本集合时的非叶子节点?

于此,我们需要对样本的各个特征进行度量,选出当前最好的划分属性作为树的分隔结点,使得我们的分类最纯。

通常的度量方法有如下方法:

  • 信息增益(ID3)

  • 信息增益率(C4.5)

  • 基尼系数(CART)

三、信息增益

1. 单个分支的信息熵

若样本中有某个离散特征 这里写图片描述 ,其有k个可能的取值 这里写图片描述。若我们使用特征 这里写图片描述 作为决策树的分隔结点对样本集合D进行划分,则会产生 k 个分支节点。

在这k个分支节点中,第 i 个分支节点包含样本集合D中所有属性 这里写图片描述 上取值为 这里写图片描述 的样本。我们将第 i 个分支节点的样本集记作 这里写图片描述

我们可以根据 信息熵 的公式计算出 这里写图片描述 的信息熵为 这里写图片描述

  • 9
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值