组队学习专用——task05

目录

一、基本原理

1. 决策树的基本思想

2. 决策树划分过程中可能遇到的特殊情况

(1) 单一类别终止:

(2) 属性用尽:

(3) 样本空缺:

3. 决策树的结构

二、信息量、信息熵

1. 信息量

2. 信息熵

三、决策树

1. ID3 决策树(使用信息增益)

2. C4.5 决策树(使用信息增益率)

3. CART 决策树(使用基尼指数)


一、基本原理

1. 决策树的基本思想

决策树通过根据某种原则选择一个属性来划分数据集。例如,对于西瓜的分类问题,可能会先按照触感将西瓜划分,将“硬滑”与“软粘”属性的样本分成不同子集。接下来,对每个子集重复此划分过程,直到满足一定停止条件。这种递归划分的过程可以形成树形结构。

2. 决策树划分过程中可能遇到的特殊情况

(1) 单一类别终止

当递归划分过程中某个子集中已仅含有同一类别的样本(如全为“好瓜”),则不再进行划分,直接终止该分支的划分过程。极端情况下,如果初始数据集中样本都属于同一类,则不进行任何划分。

(2) 属性用尽

每次划分时,选择的属性通常不可重复使用(针对离散属性)。如果在递归过程中所有属性已被用尽,但子集内仍存在不同类别的样本,只能使用“少数服从多数”的原则,将样本数量最多的类别作为该子集的标签。即便属性集合未完全为空,当子集中样本在剩余属性上的取值相同时,也无法再继续划分,此时返回标记。

(3) 样本空缺

若选择某一属性划分时,某个属性值没有对应的样本。例如,使用“纹理”属性划分,发现样本集中没有“模糊”取值的样本,此时该分支记为叶节点,并标记为训练集中出现频率最高的类别。这样可以为测试时可能遇到的样本提供一个默认分类。

3. 决策树的结构

  • 决策节点:通常用矩形框表示,代表数据集划分的属性。
  • 机会节点:通常用圆圈表示,表示一种可能的属性值。
  • 终结节点:通常用三角形表示,代表划分终止后的类别。

二、信息量、信息熵

 首先可以看这个科普视频了解:如何理解信息熵_哔哩哔哩_bilibili

1. 信息量

信息量,字面理解是信息含量,没错,信息的多少也是可以度量的。对计算机有点了解的同学应该知道,计算机中存储信息容量的单位是b、Kb、Mb等,最小单位是bit,1b=8bit。

这里可以引用一个有点数学之美的解释方法来理解一下信息量的概念。

举个例子,我们现在有个事件A(四季),他是某种季节的可能性是1/4,那么也就是说,事件A总共有4种情况会发生,那么如果在计算机里要存储事件A,我们知道计算机里存储信息,1个bit有0和1共2种可能,即:

以此类推2 bit,3 bit……n bit:

那么对于四季这个有4种情况的事件,信息量是多少bit呢?

则"四季"这个事件的信息量为2bit。也就是说,我们得出一个信息量的表达公式,信息量:

2. 信息熵

信息熵用来度量一组数据的纯度,或者叫做复杂度、事件中包含了多少信息,从这个定义上,可以体会信息熵H(x)的表达式:

三、决策树

在构建决策树时,我们主要通过不纯度来决定划分的属性。经典的不纯度指标包括三种:信息增益(ID3算法)信息增益率(C4.5算法)以及基尼指数(CART算法)。这些指标用于衡量节点划分后数据纯度的提升程度,以便更好地分类数据。

1. ID3 决策树(使用信息增益)

信息增益是知道了某个条件后,事件的不确定性下降的程度。写作 g(X,Y)。它的计算方式为熵减去条件熵:,表示的是,知道了某个条件后,原来事件不确定性降低的幅度。

2. C4.5 决策树(使用信息增益率)

假如某个条件极其严格,比如某个同学提前知道了所有选题的答案,那么将选题的序号作为条件,不存在任何不确定性,所以可以得到最大的信息增益。但是这个条件是没有意义的,假设老师换一份考卷答案就全部作废了。信息增益率在信息增益的基础上增加了惩罚项,惩罚项是特征的固有值,是避免上述情况而设计的。

写作gr (X,Y),定义为信息增益除以特征的固有值:

3. CART 决策树(使用基尼指数)

与熵一样,基尼系数表征的也是事件的不确定性,将熵定义式中的“logpi”替换为 1-pi 就是基尼系数:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/461576.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux RAID 技术详解:原理、配置、管理及故障处理

本文档深入探讨 Linux 软件 RAID 技术,涵盖 RAID 原理、各种 RAID 级别、mdadm 命令详解、配置步骤、管理方法以及高级故障处理和性能调优策略。 一、 RAID 原理与架构 RAID (Redundant Arrays of Independent Disks,独立磁盘冗余阵列) 技术并非单一技…

「C/C++」C/C++标准库 之 <cstring> 字符串操作库

✨博客主页何曾参静谧的博客📌文章专栏「C/C++」C/C++程序设计📚全部专栏「VS」Visual Studio「C/C++」C/C++程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasolid函数说明目…

单细胞数据分析(一):10X数据生成seurat数据对象

文章目录 介绍加载R包数据链接导入数据过滤细胞:移除双重细胞合并所有seurat数据对象输出结果系统信息介绍 在单细胞基因组学研究中,Seurat是一个流行的R包,用于单细胞基因表达数据的分析和探索。以下是如何从10X基因注释数据生成Seurat数据对象,并对该数据进行过滤的步骤…

day13:FTP服务

一,FTP概述 概述 FTP(File Transfer Protocol,文件传输协议)是用于在计算机之间传输文件的协议。它工作在网络的应用层,通过 TCP 协议进行数据传输,默认端口号为 21(命令端口,另外…

从0开始的STM32学习之旅:使用中断完成等待型任务(理论部分)

目录 中断 NVIC 中断优先级 先说说一般我们聊到的中断优先级 STM32中的NVIC中断优先级表示 API CubeMx配置说明 很好,我们在之前的学习中已经完成了简单的GPIO输入输出驱动的控制,我们的下一步就是仔细了解一下中断这个事情。 中断 中断这个事情…

使用Python进行数据分析入门

文章目录 Python环境搭建安装Anaconda验证安装 必备库介绍NumPyPandasMatplotlibSciPy 数据导入与清洗导入数据清洗数据 数据探索与分析描述性统计相关性分析 数据可视化绘制直方图 高级主题机器学习深度学习 总结 随着大数据时代的到来,数据分析变得越来越重要。Py…

RabbitMQ + JMeter组合,优化你的中间件处理方式!

RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息中间件,它是基于Erlang语言编写的,并发能力强,性能好,是目前主流的消息队列中间件之一。 RabbitMQ的安装可参照官网( https://www.rabbitmq.c…

python 爬虫 入门 五、抓取图片、视频

目录 一、图片、音频 二、下载视频: 一、图片、音频 抓取图片的手法在上一篇python 爬虫 入门 四、线程,进程,协程-CSDN博客里面其实有,就是文章中的图片部分,在那一篇文章,初始代码的28,29行…

Vulnhub靶机——DC-1

#环境 本次环境是利用VMware15搭建 靶机DC-1( https://download.vulnhub.com/dc/DC-1.zip) --192.168.200.131 Kali2021.1--192.168.200 将以上两个操作系统启动,并设置网卡为NAT模式 #信息收集 使用arp-scan对网段进行扫描,探测存活主机 使用nmap…

吴恩达深度学习笔记(10)12.

多任务学习 什么时候多任务学习有意义: 能从共享低级特征中获益;每个任务拥有的数据相当相似;训练一个足够大的神经网络用于所有任务。 目标定位: 分类定位(单个对象)与检测不同(多个对象&…

Android 音量调节流程分析

音量调节流程分析 按下音量键 音量键被按下后,按键事件会一路派发给Acitivity,如果无人拦截并处理,承载当前Activity的显示PhoneWindow类的onKeyDown()以及onKeyUp()函数将会被处理,从而开始通过音量键调整音量的处理流程&#x…

LLMs在股票投资组合崩溃中的时间关系推理

1. 引言 想象一下,你是一位投资经理,管理着一个多元化的股票投资组合。突然,一场前所未有的全球性事件发生了,比如2007年的金融危机或2020年的新冠疫情,这可能会对你的投资组合造成重大影响。传统的投资组合崩溃检测方…

o1驾驶无人机后空翻,OpenAI开发者日惊掉下巴!2分钟爆改代码写App

【导读】OpenAI伦敦开发者日上,首次曝出了o1五大核心能力,还有图像理解。o1两分钟构建应用驾驶无人机、电话订餐、讲解太阳系,现场演示让所有开发者沸腾。 完整版o1的解禁,离我们不远了! 就在刚刚举办的OpenAI伦敦开…

利用AWS服务轻松迁移数据上云

在数字化转型的浪潮中,越来越多的企业意识到将数据迁移至云端的重要性。云服务不仅能够提供更高的灵活性和可扩展性,还能显著降低IT成本。AWS(Amazon Web Services)作为全球领先的云服务提供商,为企业提供了一系列高效…

期货跟单、量化交易模拟演示系统

演示版可直接下载本文绑定资源。 一、跟单下单 在“排行榜”中选择要跟单的用户,合约可以跟全部,也可以指定跟该用户的某一合约操作,选定跟单的倍数(操作手数的倍数)/手数(指定手数,可以不是对…

界面控件DevExpress WPF中文教程:Data Grid——卡片视图概述

DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件…

【数据结构二叉树】补充:C实现二叉树的层次遍历

1、层次遍历 按层次遍历二叉树的方式:按照“从上到下,从左到右”的顺序遍历二叉树,即先遍历二叉树的第一层的结点,然后是第二层的结点,直到最底层的结点,对每一层的遍历按照从左到右的次序进行。 2、层次…

供应商图纸外发:如何做到既安全又高效?

供应商跟合作伙伴、客户之间会涉及到图纸外发的场景,这是一个涉及数据安全、效率及合规性的重要环节。供应商图纸发送流程一般如下: 1.申请与审批 采购人员根据需要提出发放图纸的申请并提交审批; 采购部负责人审批发放申请,确…

MySQL 9从入门到性能优化-系统信息函数

【图书推荐】《MySQL 9从入门到性能优化(视频教学版)》-CSDN博客 《MySQL 9从入门到性能优化(视频教学版)(数据库技术丛书)》(王英英)【摘要 书评 试读】- 京东图书 (jd.com) MySQL9数据库技术_夏天又到了…

【第一个qt项目的实现和介绍以及程序分析】【正点原子】嵌入式Qt5 C++开发视频

qt项目的实现和介绍 1.第一个qt项目  (1).创建qt工程    [1].创建一个存放qt的目录    [2].新建一个qt工程    [3].编译第一个工程    发生错误时的解决方式 二.QT文件介绍  (1).工程中文件简单介绍  (2).项目文件代码流程介绍    [1].添…