这里我们有以下关于是否游玩的数据集,数据如下:

编号 温度 天气 游玩
1
2
3
4

接下来我们将根据ID3算法,给出这个案例的决策树。

考虑如何构造是否游玩的决策树,显示将哪个属性(温度、天气)作为根节点是个关键问题,在这里先介绍两个指标:纯度信息熵

先说纯度,决策树的构造过程可以理解为寻找纯净划分的过程。

举个例子,假设三个集合:

  • 集合1:4次都去游玩;
  • 集合2:3次去游玩,1次不去游玩;
  • 集合3:2此去游玩,1次不去游玩。

这里三个集合按照纯度来排序,集合1>集合2>集合3。因为集合1的分歧最小,集合3的分歧最大。

然后说信息熵,信息熵表示信息的不确定度

一般情况,我们用概率的倒数的对数函数表示某一事件(某一符号)出现带来的信息量。
即每个符号的自信息量:

I(ai) = log(1/p),单位是bit

而信息熵指每个信息量的数学期望,即

H(x)= E(log(1/p)),就是其概率对应的相乘相加!!(该式中对数一般取2为底)

信息熵的定义:假设t是一个离散随机变量,即它的取值范围R={i}是有限可数的。设p(i|t)=P{t=i},t的熵定义为:

ID3算法计算的是信息增益,信息增益指的就是划分可以带来纯度的提高,信息熵的下降。它的计算公式,是父亲节点的信息熵减去所有子节点的信息熵。在计算的过程中,我们会计算每个子节点的归一化信息熵,即按照每个子节点在父节点出现的概率,来计算这些子节点的信息熵。所以信息增益的公式表示为:


公式中D是父亲节点,Di是子节点,Gain(D,a)中的a作为D节点的属性选择

介绍完了这几个概念,我们现在根据ID3算法来给出该案例决策树

回顾一下该数据集

编号 温度 天气 游玩
1
2
3
4

1. 首先完整的计算下我们的训练集,训练集中一共有4条数据,两条游玩,两条不游玩,因此根节点的信息熵是:

1)接下来我们要选择将温度还是天气作为属性划分,如果将温度作为属性划分,会有两个叶子节点D1和D2,分别对应的是高和中。我们用+代表游玩,- 代表不去游玩。那么可以用以下方式来记录D1,D2:

D1 (温度=高) = {1+,2+}
D1 (温度=中) = {3-,4-}

我们分别计算两个叶子节点的信息熵:


因为D1有两个记录,D2有两个记录,所以D中的记录一共是2+2=4,即总数为4、所以D1在D中的概率为1/2,D2在D中概率为1/2。那么作为子节点的归一化信息熵为:

因此,选择温度作为属性节点的信息增益为:

Gain(D,温度)=1-0=1

2)同理,我们可以计算出将天气作为根节点的信息增益,可以得出天气作为根节点的信息增益为:

Gain(D,天气)=1-1=0

现在我们得到了将温度和天气分别作为根节点的信息增益,我们可以看出来温度作为属性的信息增益最大。而ID3就是将信息增益最大的节点作为父节点,这样可以得到纯度高的决策树,所以我们将温度作为根节点。其决策树状图分裂为下图所示:

我们可以看出来,该决策树纯度已经很高,不需要进一步划分。所以最终的决策树如下图所示,只有温度一个节点。

根据ID3算法给出游玩的决策树的实战案例相关推荐

  1. 机器学习题5:请简述ID3算法的实现步骤,并利用ID3算法构建天气数据集的决策树模型,实现决策树的可视化。

    ID3算法的实现步骤: 输入:数据集(训练集)S及属性A 输出:属性A对训练数据集S的信息增益 ① 先将S作为根节点,其目标属性y有c个类别属性.假设S中出现的概率,计算数据集S的信息熵. ② 假设属 ...

  2. 决策树-熵计算-ID3算法(转)

    今天,我来讲解的是决策树.对于决策树来说,主要有两种算法:ID3算法和C4.5算法.C4.5算法是 对ID3算法的改进.今天主要先讲ID3算法,之后会讲C4.5算法和随机森林等. Contents   ...

  3. 机器学习——使用ID3算法从原理到实际举例理解决策树

    文章目录 一.什么是决策树 二.介绍建立决策树的算法 三.决策树的一般流程 四.实际举例构建决策树 使用ID3算法的原理实现构建决策树 参考链接 一.什么是决策树 基本概念 决策树是一种树形结构,其组 ...

  4. 机器学习算法(二):决策树理论与python实现+经典应用(预测隐形眼镜类型)

        最近重温了本科学过的一个算法,决策树.想写篇博文整理一下,一则与大家分享,希望能帮到有需要的人.二来作为一个学习笔记,记录一下学习内容.为了让大家对这个算法有一个系统清晰的认识,这篇博文侧重于 ...

  5. 2022高教社杯数学建模思路 - 案例:ID3算法

    2022 高教社杯(国赛数学建模)思路解析 2022高教社杯ABCD赛题思路解析: https://blog.csdn.net/dc_sinor/article/details/126211983 1 ...

  6. ID3算法思想以及实现

    1. 决策树原理 数据挖掘中的分类主要包括基于决策树的分类.基于规则的分类.基于神经网络的分类.基于支持向量机的分类.基于朴素贝叶斯的分类等.机器学习中,决策树是一个预测模型,他代表的是对象属性与对象 ...

  7. 决策树算法ID3算法(Python3实现)

    目录 1.数据集准备 2.使用ID3算法递归构建决策树并使用决策树执行分类 2.1 ID3算法概述 2.2 递归终止条件 2.3 代码实现 3.Matplotlib实现决策树可视化 4.决策树的存储与 ...

  8. 【Machine Learning in Action --3】决策树ID3算法

    1.简单概念描述 决策树的类型有很多,有CART.ID3和C4.5等,其中CART是基于基尼不纯度(Gini)的,这里不做详解,而ID3和C4.5都是基于信息熵的,它们两个得到的结果都是一样的,本次定 ...

  9. 【Machine Learning】决策树之ID3算法 (2)

    决策树之ID3算法 Content 1.ID3概念 2.信息熵 3.信息增益 Information Gain 4. ID3 bias 5. Python算法实现(待定) 一.ID3概念 ID3算法最 ...

  10. 【机器学习】深刻理解决策树-动手计算ID3算法

     一.决策树概述 决策树算法易于理解.可解释性强,是一个非常常见并且优秀的机器学习算法,可分类,也可回归.现在许多最优秀的集成模型,基础也是决策树.因此,决策树系列算法是机器学习绕不过的大山.需要进行 ...

最新文章

  1. 【NCEPU】王子朝:神经网络、支持向量机原理
  2. 国产的markdown 语法的思维导图和大纲工具!
  3. Linux中的数据流重定向
  4. Shell脚本之条件判断
  5. Angular 应用的DevDependencies
  6. 用python写linux中的ls,Python实现Linux环境下的ls命令
  7. html网页距离顶部50像素,HTML5 教程之CSS Padding(填充)
  8. 汉化:Termius for Mac(SSH客户端)
  9. 2021东华杯misc详解
  10. 如何在线查看某个地方的高程值
  11. 小记 -- cadence安装记录
  12. iOS:如何实现在文字上添加拼音
  13. 【Linux】返回上级目录
  14. python Shapely使用指南详解
  15. 【项目小结】爬虫学习进阶:获取百度指数历史数据
  16. 京东管培生(产品方向)线上hr面
  17. python开发工程师岗位简介_python开发工程师是什么
  18. java基础:日志框架
  19. 下载的网页浏览器打开一直跳转问题
  20. 如何让p标签里文字不换行,以省略号结束

热门文章

  1. Prime Number
  2. SSM框架学习(2)CRM项目软件开发周期
  3. 阿里云上部署的SQL Server服务器和SVN服务器不能远程访问
  4. 什么是企业邮箱?企业邮箱有什么用途?
  5. 饥荒模块显示检查工作室订阅服务器,饥荒工作室新作《欺诈之地》正式上架Steam商店...
  6. 程序员的自我进化:技术的广度与深度怎么权衡
  7. layui 的文件上传组件的使用
  8. Java生成临时文件
  9. 1、异常值(outliers)检测综述:定义、检测方法、影响、修正
  10. o.redisson.client.handler.CommandsQueue : Exception occured.