机器学习-决策树系列-决策树-ID3算法 -C4.5算法-26
1. 决策树
决策树是属于有监督机器学习的一种,起源非常早,符合直觉并且非常直观,
模型生成:通过大量数据生成一颗非常好的树,用这棵树来预测新来的数据
预测:来一条新数据,按照生成好的树的标准,落到某一个叶子节点上
决策树的数学表达,递归 自己调用自己
决策树的生成本质
就是数据不断分裂的递归过程,每一次分裂,尽可能让类别一样的数据在树的一边,当树的叶子节点的数据都是一类的时候,则停止分裂。

分裂好坏的评判的指标:基尼系数

Gini系数越小,代表D集合中的数据越纯,所有我们可以计算分裂前的值
二分的场景:

按照某个维度对数据集进行划分,然后可以去计算多个节点的Gini系数
分裂好坏的评判的指标:信息熵
在信息论里熵叫作信息量,即熵是对不确定性的度量。从控制论的角度来看,应叫不确定性。信息论的创始人香农在其著作《通信的数学理论》中提出了建立在概率统计模型上的信息度量。他把信息定义为“用来消除不确定性的东西”。在信息世界,熵越高,则能传输越多的信息,熵越低,则意味着传输的信息越少。
举例说明,假设Kathy在买衣服的时候有颜色,尺寸,款式以及设计年份四种要求,而North只有颜色和尺寸的要求,那么在购买衣服这个层面上Kathy由于选择更多因而不确定性因素更大,最终Kathy所获取的信息更多,也就是熵更大。所以信息量=熵=不确定性,通俗易懂。在叙述决策树时我们用熵表示不纯度(Impurity)。

生命的本质在于 抵抗熵增
打扫房间:让你周围的世界变得有序
吃饭:让你体内的分子变得有序 那可不可以这样认为食物里面的熵更低 -->食物里面的更低的熵(更有序的分子排列)是谁实现的 从哪里来的?-->植物的光合作用 -->分子的有序排列是需要消耗能量的
有序 到 无序的过程 能量的耗散过程
无序 到 有序 需要吸收能量 才能实现
息论中熵的概念,熵度量了事物的不确定性,越不确定的事物,它的熵就越大。具体的,随机变量X的熵的表达式如下:

举个例子,比如X有2个可能的取值,而这两个取值各为1/2时X的熵最大,此时X具有最大的不确定性:
,
如果一个值概率大于1/2,另一个值概率小于1/2,则不确定性减少,对应的熵也会减少。比如一个概率1/3,一个概率2/3,则对应熵为:
2. 举个例子 计算信息增益
信息增益:分裂前的信息熵 减去 分裂后的信息熵一个分裂导致的信息增益越大,代表这次分裂提升的纯度越高
分裂前的 减去分裂后的。

根节点 没有分裂的时候:

根据性别 分叉

性别这个维度分叉得到的信息增益:

根据活跃度 分裂:

对应的信息增益:

因此, 根据活跃度 来分叉 是更优的
信息熵与Gini指数关系

将 f(x) = −lnx 在 x = 1 处进行一阶泰勒展开


计算信息熵涉及log计算 效率会慢很多 因此很多时候是用gini系数去计算
以上方法叫做 决策树ID3 其缺点:
ID3采用信息增益大的特征优先建立决策树的节点。很快就被人发现,在相同条件下,取值比较多的特征比取值少的特征信息增益大。比如一个变量有2个值,各为1/2,另一个变量为3个值,各为1/3,其实他们都是完全不确定的变量,但是取3个值的比取2个值的信息增益大。如何校正这个问题呢?没有考虑过拟合的问题
ID3 算法的作者昆兰基于上述不足,对ID3算法做了改进,这就是C4.5算法
3. C4.5算法
ID3不足:一是不能处理连续特征,第二个就是用信息增益作为标准容易偏向于取值较多的特征,最后两个是缺失值处理的问和过拟合问题
息增益作为标准容易偏向于取值较多的特征的问题。我们引入一个信息增益比的变量
信息增益和特征熵的比值:

特征熵
:

特征数越多的特征对应的特征熵越大,它作为分母,得到的信息增益比就会更小,校正信息增益容易偏向于取值较多的特征的问题。
C4.5虽然改进或者改善了ID3算法的几个主要的问题,仍然有优化的空间。
由于决策树算法非常容易过拟合,对于生成的决策树必须要进行剪枝。剪枝的算法有非常多,C4.5的剪枝方法有优化的空间。一种是预剪枝,另一个是后剪枝,即先生成决策树,再通过交叉验证来剪枝
C4.5由于使用了熵模型,里面有大量的耗时的对数运算,如果是连续值还有大量的排序运算。
在CART树里面加以了改进,在普通的决策树算法里,CART算法算是比较优的算法了。
机器学习-决策树系列-决策树-ID3算法 -C4.5算法-26的更多相关文章
- 机器学习总结(八)决策树ID3,C4.5算法,CART算法
本文主要总结决策树中的ID3,C4.5和CART算法,各种算法的特点,并对比了各种算法的不同点. 决策树:是一种基本的分类和回归方法.在分类问题中,是基于特征对实例进行分类.既可以认为是if-then ...
- 《机器学习实战》学习笔记第三章 —— 决策树之ID3、C4.5算法
主要内容: 一.决策树模型 二.信息与熵 三.信息增益与ID3算法 四.信息增益比与C4.5算法 五.决策树的剪枝 一.决策树模型 1.所谓决策树,就是根据实例的特征对实例进行划分的树形结构.其中有两 ...
- 小啃机器学习(1)-----ID3和C4.5决策树
第一部分:简介 ID3和C4.5算法都是被Quinlan提出的,用于分类模型,也被叫做决策树.我们给一组数据,每一行数据都含有相同的结构,包含了一系列的attribute/value对. 其中一个属性 ...
- 机器学习之决策树(ID3 、C4.5算法)
声明:本篇博文是学习<机器学习实战>一书的方式路程,系原创,若转载请标明来源. 1 决策树的基础概念 决策树分为分类树和回归树两种,分类树对离散变量做决策树 ,回归树对连续变量做决策树.决 ...
- 决策树:ID3与C4.5算法
1.基本概念 1)定义: 决策树是一个预测模型:他代表的是对象属性与对象值之间的一种映射关系,树中每个节点代表的某个可能的属性值. 2)表示方法: 通过把实例从根结点排列到某个叶子结点来分类实例,叶子 ...
- 决策树系列(四)——C4.5
预备知识:决策树.ID3 如上一篇文章所述,ID3方法主要有几个缺点:一是采用信息增益进行数据分裂,准确性不如信息增益率:二是不能对连续数据进行处理,只能通过连续数据离散化进行处理:三是没有采用剪枝的 ...
- 机器学习Sklearn系列:(五)聚类算法
K-means 原理 首先随机选择k个初始点作为质心 1. 对每一个样本点,计算得到距离其最近的质心,将其类别标记为该质心对应的类别 2. 使用归类好的样本点,重新计算K个类别的质心 3. 重复上述过 ...
- 数据挖掘领域经典分类算法 —— C4.5算法(附python实现代码)
目录 理论介绍 什么是分类 分类的步骤 什么是决策树 决策树归纳 信息增益 相关理论基础 计算公式 ID3 C4.5 python实现 参考资料 理论介绍 什么是分类 分类属于机器学习中监督学习的一种 ...
- 决策树之ID3、C4.5
决策树是一种类似于流程图的树结构,其中,每个内部节点(非树叶节点)表示一个属性上的测试,每个分枝代表该测试的一个输出,而每个树叶节点(或终端节点存放一个类标号).树的最顶层节点是根节点.下图是一个典型 ...
- 决策树(ID3、C4.5、CART)
ID3决策树 ID3决策树分类的根据是样本集分类前后的信息增益. 假设我们有一个样本集,里面每个样本都有自己的分类结果. 而信息熵可以理解为:“样本集中分类结果的平均不确定性”,俗称信息的纯度. 即熵 ...
随机推荐
- ROW_NUMBER 开窗函数优化方案(Oracle && PostgreSQL 性能比对)
帮朋友优化一条很简单的窗口函数 ROW_NUMBER() OVER() , Oracle 迁移 PostgreSQL项目. 原始SQL和执行计划 STUDENT_BAK 表我模拟的数据,3千万行数据. ...
- awk所有常用语法
awk [OPTIONS] PROGRAM FILE... 选项: -F 指定分隔符 -f 引用awk脚本 -v VAR=VALUE 定义一个变量传递给PROGRAM,但是这里的变量BEGIN读不了, ...
- Semantic Kernel 正式发布 v1.0.1 版本
微软在2023年12月19日在博客上(Say hello to Semantic Kernel V1.0.1)发布了Semantic kernel的.NET 正式1.0.1版本.新版本提供了新的文档, ...
- 数字孪生和GIS融合:激发数字孪生技术的进步潜力
数字孪生技术和地理信息系统(GIS)的融合,为数字孪生领域带来了巨大的进步和创新.这种强大的联合不仅扩展了数字孪生技术的应用领域,还提供了更全面.更精确的数据支持,从而推动了数字孪生技术的发展和应用. ...
- NetSuite 开发日记 —— 库存详细信息记录更改数量问题
详细报错: "type":"error.SuiteScriptError","name":"USER_ERROR",&q ...
- C 按位显示二进制
转载:https://mp.weixin.qq.com/s?__biz=Mzk0NDYzNTI1Ng==&mid=2247483733&idx=2&sn=728c93b046d ...
- Spring Eureka 源码解析
本文将简要分析一下关于 Spring Eureka 相关的一些必要的源代码,对应的版本:Spring Cloud 2021.0.1 @EnableEurekaServer 注解 @EnableEure ...
- Odoo16—级联删除
我们在odoo中构建业务系统模块的时候,通常会使用one2many.many2one或many2many将模型进行关联,由此产生的数据也会通过外键发生关联.那么在odoo中删除数据的时候,如何关联删除 ...
- 快速掌握服务网格系列二:云原生、K8S、服务网格(Service Mesh)及微服务之间的关系
快速掌握服务网格系列二:云原生.K8S.服务网格(Service Mesh)及微服务之间的关系 首先看下CNCF对云原生的定义: Cloud native technologies empower o ...
- CSS 基础 4 - CSS 常用单位
CSS 基础 4 - CSS 常用单位 px:基础单位 em:相对当前父容器的系数,可以累乘 rem:相对根 <html> 的系数,方便计算 vw/vh:viewport width/he ...