西瓜书学习(一)—决策树(上)

2023-11-15

1)什么是决策树?
顾名思义,决策树是以树形的结构方式来对事件做决定和分类。我们以来判断一个瓜是不是好瓜来举例子,如下:
决策树的结构一般包含一个根节点,若干个内部节点和若干个叶节点;根节点包含所有样本(各种各样的瓜)。内部节点是西瓜的属性(根茎叶是什么样子的),叶节点是结论(好瓜,坏瓜)。每条从根节点到叶节点的路径就代表一种属性判定路径。
2)划分依据
你可能要问,西瓜有那么多属性,我们到底先选择什么来作为第一个判定属性?我们怎么分类才能让该属性下的样本尽可能是“一伙儿”的。
(1)第一种划分依据
信息熵(info entropy)

信息熵是用来度量样本集合纯度最常用的指标,其公式如下:

其中p是所分类的西瓜样本所占总样本的比例(k=1,2,3....y)。Ent(D)的值越小,则 D的纯度越高
信息增益
假定离散属性a有V个可能取值{a1,a2,a3.....av },我们若用a来对样本集合D来进行划分,则会产生V个分支结点,其中第v个分支结点包含D中所有在属性a上取值为av的样本,记做Dv。则信息增益公式如下:

这里,我们将信息增益的大小作为划分结点的依据。如果节点的某属性信息增益最大,我们就以该属性来划分此结点。每个属性划分都只能用一次。
( 2)第二种划分依据
可能你已经发现了,由于权重的存在,信息增益准则对包含数目较多的属性有偏好。为了减少这种不“客观”的判定,我们选择”增益率“(C4.5)来划分属性。公式如下;

其中

这里IV(a)称之为属性a的固有值。通常情况下,a越大,固有值越大。这样就减小了上面信息增益对包含数目多的属性的偏好。但是尴尬的是,似乎减少的太多了。增益率对包含数目较少的属性有偏好,这里Quinlan提出了一种方法:先找出信息增益高于平均水平的,然后再选出增益率最高的。
(3)第三种划分依据

基尼指数,公式如下:


这里的基尼指数越小,则数据集D的纯度越高。同理,推广到属性a的基尼指数如下:


这里选择基尼指数最小的属性作为划分的依据。
3)建立一棵决策树(示例)

这里,我们来判断一棵西瓜的好坏。现在有17颗西瓜,其属性状况如下:


显然,根节点是这17个样本。好了,我们现在开始计算了。
(1)计算第一层内结点
首先,计算样本的信息熵。

很明显我们要分类的结果是好与坏两种类别,则|y|=2。那么其信息熵如下:


这里有8个好瓜,9个坏瓜。

接下来,我们要计算各个属性的信息增益,我们以色泽举例。色泽包含三种情况{青绿,乌黑,浅白}。其好瓜样本占属性样本比例分别是3/6,4/6,1/5。坏瓜样本占属性样本比例分别是3/6,2/6,4/5。则根据信息熵公式(4.1)得到:


再根据公式(4.2)计算‘色泽’的信息增益得到:


同理,我们计算得到其他属性的信息增益如下:


我们可以看到纹理的信息增益最大,为0.381。于是我们选择纹理作为我们的第一层属性结点。如下:


(2)第二层属性结点

我们已经在第一层属性结点中用过了“纹理”,所以本层就不可以再用了。首先,我们在由“纹理”划分出的“清晰”样本{1,2,3,4,5,6,8,10,15}中,计算各剩余属性的信息增益。我们这里以色泽举例,如下:

首先计算‘“清晰”样本的信息熵:


接下来计算各个属性的信息熵:


接下来,计算”色泽“在”清晰“样本中的信息增益:


同理,我们计算其他属性在“清晰”样本下的信息增益。如下:


我们可以看到“脐部”,“根蒂”,”触感“三个属性的信息增益最大,所以本层,我们任选三个属性的一个来分类。我们这里选择“根蒂”,如下:


那么,剩下的两个二级样本稍糊和模糊呢?我们来看稍糊:

稍糊有样本{7,9,13,14,17}。我们对该样本求信息熵得到:


同理,计算各属性的信息熵,不再包括属性“根蒂”,。然后再计算信息增益,如下:


同理,计算得到其他的信息增益。得到触感是最适合的属性。如下:


至于模糊就简单了,因为”模糊“这类样本只有坏瓜,第二层决策树枝到此结束。
(3)第三层属性结点

这里我们先从第二层的第一类属性(根蒂)开始,将其分成三类样本。如下:


这里,我们很容易发现这里的蜷缩和硬挺都已经结束。这里,只需要对”稍蜷“样本进行分类。其样本有{6,8,15}。同理,我们需要计算信息熵,信息增益,还是首先以”色泽“来计算。如下:


2.计算剩余的熵:


3.计算增益:

计算剩余的信息增益,得到色泽是最大的增益。这里选择”色泽“做为我们第三层的属性划分。同理,我们对第四层,第五层做属性划分。得到最终的决策树:

今天我们就到这里,剩下的剪枝处理,连续值和缺失值处理后面再讲。希望有志同道合的小伙伴关注我的公众平台,欢迎您的批评指正,共同交流进步。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

西瓜书学习(一)—决策树(上) 的相关文章

  • 讯飞AI算法挑战大赛-校招简历信息完整性检测挑战赛-三等奖方案

    前言 本文公开了 讯飞AI算法挑战大赛 校招简历信息完整性检测挑战赛 赛道的技术方案和代码 本次比赛主要采用 pdf解析 和 特征工程 的方法 通过使用 lightgbm 的树模型10折交叉验证进行 二分类 的任务 最终取得三等奖的成绩 一
  • 10个 Python 脚本来自动化你的日常任务

    在这个自动化时代 我们有很多重复无聊的工作要做 想想这些你不再需要一次又一次地做的无聊的事情 让它自动化 让你的生活更轻松 那么在本文中 我将向您介绍 10 个 Python 自动化脚本 以使你的工作更加自动化 生活更加轻松 因此 没有更多
  • 项目:IRIS数据集项目

    概述 机器学习是人工智能的一个子部分 涉及教导算法做出基于数据的决策并尝试像人类一样行事 有许多数据集可用于针对不同任务训练这些算法 例如 IRIS 数据集 涵盖三类花 Versicolor Setosa 和 Virginica 每种花有四
  • 最小二乘法

    最小二乘法 最小二乘法是指 残余误差平方和最小 最小二乘法应用 至少 最可信赖估计 回归分析
  • Keras 3.0正式发布:可用于TensorFlow、JAX和PyTorch

    经过 5 个月的更新迭代 Keras 3 0 终于来了 大新闻 我们刚刚发布了 Keras 3 0 版本 Keras 之父 Fran ois Chollet 在 X 上激动的表示 现在你可以在 JAX TensorFlow 以及 PyTor
  • 机器学习 高维数据可视化:t-SNE 降维算法

    作者简介 人工智能专业本科在读 喜欢计算机与编程 写博客记录自己的学习历程 个人主页 小嗷犬的个人主页 个人网站 小嗷犬的技术小站 个人信条 为天地立心 为生民立命 为往圣继绝学 为万世开太平 本文目录 t SNE 简介 sklearn 中
  • 软件测试/测试开发/人工智能丨分类,二分类和回归问题的对应场景与区别

    分类 二分类和回归问题是机器学习中常见的三种任务类型 它们分别适用于不同的场景 具有不同的目标和输出 1 分类问题 Classification 场景 适用于将数据点分到不同的类别或标签中的问题 每个类别代表一种离散的类别或状态 例子 判断
  • Python-一键爬取图片、音频、视频资源

    前言 使用Python爬取任意网页的资源文件 比如图片 音频 视频 一般常用的做法就是把网页的HTML请求下来通过XPath或者正则来获取自己想要的资源 这里我做了一个爬虫工具软件 可以一键爬取资源 媒体文件 但是需要说明的是 这里爬取资源
  • 机器学习之迁移学习(Transfer Learning)

    概念 迁移学习 Transfer Learning 是一种机器学习方法 其核心思想是将从一个任务中学到的知识应用到另一个相关任务中 传统的机器学习模型通常是从头开始训练 使用特定于任务的数据集 而迁移学习则通过利用已经在一个任务上学到的知识
  • 第二部分相移干涉术

    典型干涉图 相移干涉术 相移干涉术的优点 1 测量精度高 gt 1 1000 条纹 边缘跟踪仅为 1 10 边缘 2 快速测量 3 低对比度条纹测量结果良好 4 测量结果不受瞳孔间强度变化的影响 独立于整个瞳孔的强度变化 5 在固定网格点获
  • 吴恩达机器学习笔记八 正则化

    使第一项均方差较小来符合数据 使第二项正则化项较小来使 w 较小 0 采用高阶多项式会过拟合 非常大 则每个 w 都很小 F X 约为 b 结果为一条直线 欠拟合 含正则化线性回归的梯度下降 含正则化逻辑回归的梯度下降 到这里第一个专项课程
  • 什么是“人机协同”机器学习?

    人机协同 HITL 是人工智能的一个分支 它同时利用人类智能和机器智能来创建机器学习模型 在传统的 人机协同 方法中 人们会参与一个良性循环 在其中训练 调整和测试特定算法 通常 它的工作方式如下 首先 对数据进行人工标注 这就为模型提供了
  • 详解数据科学自动化与机器学习自动化

    过去十年里 人工智能 AI 构建自动化发展迅速并取得了多项成就 在关于AI未来的讨论中 您可能会经常听到人们交替使用数据科学自动化与机器学习自动化这两个术语 事实上 这些术语有着不同的定义 如今的自动化机器学习 即 AutoML 特指模型构
  • 什么是“人机协同”机器学习?

    人机协同 HITL 是人工智能的一个分支 它同时利用人类智能和机器智能来创建机器学习模型 在传统的 人机协同 方法中 人们会参与一个良性循环 在其中训练 调整和测试特定算法 通常 它的工作方式如下 首先 对数据进行人工标注 这就为模型提供了
  • lr推荐模型 特征重要性分析

    在分析lr模型特征重要性之前 需要先明白lr模型是怎么回事儿 lr模型公式是sigmoid w1 x1 w2 x2 wn xn 其中w1 w2 wn就是模型参数 x1 x2 xn是输入的特征值 对于lr模型来说 特征可以分为两个粒度 一个是
  • Python机器学习实战:用Python构建10个有趣的应用

    机器学习是一门强大的工具 可以用于解决各种各样的问题 通过学习机器学习 您可以开发出能够自动化任务 做出预测甚至创造艺术的应用程序 如果您是一名 Python 开发人员 那么您将很高兴知道 有许多可以用 Python 构建的有趣机器学习应用
  • 山西电力市场日前价格预测【2024-01-05】

    日前价格预测 预测说明 如上图所示 预测明日 2024 01 05 山西电力市场全天平均日前电价为259 10元 MWh 其中 最高日前电价为363 99元 MWh 预计出现在18 00 最低日前电价为0 00元 MWh 预计出现在11 1
  • 机器学习算法实战案例:时间序列数据最全的预处理方法总结

    文章目录 1 缺失值处理 1 1 统计缺失值 1 2 删除缺失值 1 3 指定值填充 1 4 均值 中位数 众数填充
  • 史上最全自动驾驶岗位介绍

    作者 自动驾驶转型者 编辑 汽车人 原文链接 https zhuanlan zhihu com p 353480028 点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 求职交流 技术交流群 本
  • GPT4+Python近红外光谱数据分析及机器学习与深度学习建模

    详情点击链接 GPT4 Python近红外光谱数据分析及机器学习与深度学习建模 第一 GPT4 入门基础 1 ChatGPT概述 GPT 1 GPT 2 GPT 3 GPT 3 5 GPT 4模型的演变 2 ChatGPT对话初体验 注册与

随机推荐

  • DNS 预解析是什么?怎么实现?

    DNS优化 在介绍dns prefetch之前 先要提下当前对于DNS优化主流方法 一般来说 一次DNS解析需要耗费 20 120ms 所以为了优化DNS 我们可以考虑两个方向 减少DNS请求次数 缩短DNS解析时间dns prefetch
  • 网站服务器 80端口吗,你的服务器打开IIS80端口了吗?

    我是中国药都网的站长 做门户网站有二年了 也在A5上和大家分享了很多地方门户经验 今天继续在A5这个平台跟大家分享经验 这个网站我是从2009年做的 用了3次服务器 但是只有第三次用服务器打开了iis80端口并看到意向不到的效果 下面给大家
  • GEE学习笔记 五十五:GEE编辑器绘制样本点的一个bug(官方在5.1给出反馈已经修复相关bug)

    提交的Bug官方在5月1日已经给出反馈 测试发现已经修复了这个Bug 注释 这个是今天发现的一个bug 官方后续肯定会修复的 在做地物分类的时候我们会采用GEE在线采集样本方式 但是这个有一个问题需要注意 如果直接使用绘制矩形和点会将点变为
  • unity3D 下雨效果实现

    这个效果借鉴自unity例子angrybot 并做了一部分适应项目的修改 angrybot的实现方法 单个雨滴 RainBox 1 Start的时候从Mgr里面取一个雨滴的mesh给MeshFilter使用 2 在Update 做下落的循环
  • uniapp-历史搜索记录

    应用场景 很多搜索场景内都能用到这个功能 大概就是用户搜索了某个关键字 然后搜索的关键字可以持久的保存下来 下次打开搜索的时候可以达到快速点击搜索的效果 实现步骤 1 先给输入框双向绑定数据和事件
  • 生成式人工智能的潜在有害影响与未来之路(一)

    这是本文的第1版 反映了截至2023年5月15日 Generative AI的已记载的和预期的危害 由于Generative AI的发展 使用和危害的快速变化 我们承认这是一篇内在的动态论文 未来会发生变化 在本文中 我们使用一种标准格式来
  • 【观察】VMware:二十而冠,以梦为马不负韶华

    申耀的科技观察 读懂科技 赢取未来 今年7月 VMware首席执行官Pat Gelsinger成功登顶了世界七大高峰之一的乞力马扎罗山 期间的巨大挑战可想而知 但越困难越危险 也就越迷人 因为登顶的魅力 也是挑战自我 超越自我的过程 这似乎
  • idea添加自定义注释

    idea添加自定义注释 废话不多说 直接上图 1 设置Settings gt 编辑器Editor gt Live Templates 2 右侧加号 3 填写快捷缩写Abbreviation 描述Description 4 填写注释的内容 5
  • Nginx日志按日分割方法

    本文使用logrotate工具对Nginx日志进行按日的自动切割 操作系统为Centos7 6 步骤如下 1 编写针对Nginx的logrotate脚本如下 保存在 etc logrotate d usr local nginx logs
  • 数据结构——拓扑排序算法

    拓扑排序的深度优先算法 Topological Sort with Depth First Search 是一种在有向无环图 DAG 中进行排序的方法 该算法使用递归来进行深度优先搜索 并在搜索完成后将节点添加到排序结果中 include
  • Set接口概述

    1 Set集合和List集合的区别 Set 不允许元素重复 集合元素唯一 元素可以为null 不能保证迭代顺序恒久不变 无序 存储和取出不一致 List 允许元素重复 并且元素有序 存储和取出一致 2 Set 集合存储元素时可以保证元素的唯
  • 计算机毕业设计 基于SSM框架+Vue的企业人事信息管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

    博主介绍 从事软件开发10年之余 专注于Java技术领域 Python人工智能及数据挖掘 小程序项目开发和Android项目开发等 CSDN 掘金 华为云 InfoQ 阿里云等平台优质作者 文末获取源码联系 精彩专栏推荐订阅 不然下次找不到
  • idea中配置Tomcat找不到的解决办法

    idea中配置Tomcat找不到的解决办法 最近重装了系统 所以重新下载了一下idea 配置tomcat时发现找不到Tomcat Server 下面是一种解决方法 希望也可以帮助到大家 具体的实施步骤 File gt Settings gt
  • C++中nothrow的介绍及使用

    在C中 使用malloc等分配内存的函数时 一定要检查其返回值是否为 空指针 并以此作为检查内存操作是否成功的依据 这种Test for NULL代码形式是一种良好的编程习惯 也是编写可靠程序所必需的 在C 中new在申请内存失败时默认会抛
  • 使用布谷鸟算法优化的LSTM进行数据回归预测

    使用布谷鸟算法优化的LSTM进行数据回归预测 在时间序列数据分析方面 长短时记忆网络 LSTM 已经成为一种流行的方法 然而 LSTM模型中的大量参数使得该模型的训练变得困难 因此 本文提出了一种基于布谷鸟算法的优化方法来加速LSTM模型的
  • 一网通办的内涵解构

    一网通办 节选 一网通办 这四个字的每一个字都有特定的含义 整合在一起便构成了具有内在逻辑关系的特定概念 1 一网通办 的核心在于 办 办 重视的是办理 一方面从民众角度出发 提高和丰富企业与个人办事的体验度 满意度 获得感 使民众能够及时
  • 1074 Reversing Linked List (25 point(s))

    1074 Reversing Linked List 25 point s Given a constant K and a singly linked list L you are supposed to reverse the link
  • [CentOS]Chkrootkit后门检测工具的安装

    工具介绍 Chkrootkit 工具用来监测 rootkit 是否被安装到当前系统中 rootkit 是 攻击者经常使用的后门程序 这类后门程序通常非常隐秘 不易被察觉 植入后 等于为攻击者建立了一条能够长时间入侵系统或可对系统进行实时控制
  • 基于置换均线的二次穿越突破均线

    1 名词解释 置换均线 移位移动平均线也称置换移动平均线 置换均线 DMA 不是将当根bar上计算的均线值画上当根bar上 而是将历史的均线值画在当根bar上 使均线值整体向未来偏移了指定数量的bar 将移动平均K线向后平移一定BAR数即为
  • 西瓜书学习(一)—决策树(上)

    1 什么是决策树 顾名思义 决策树是以树形的结构方式来对事件做决定和分类 我们以来判断一个瓜是不是好瓜来举例子 如下 决策树的结构一般包含一个根节点 若干个内部节点和若干个叶节点 根节点包含所有样本 各种各样的瓜 内部节点是西瓜的属性 根茎