news 2026/4/17 18:50:12

机器学习——决策树

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
机器学习——决策树

决策树是一种直观且易于解释的监督学习算法,广泛应用于分类和回归任务。它通过模拟人类决策过程,将复杂问题拆解为一系列简单的判断规则,最终形成类似 “树” 状的结构。以下从基础概念、原理、算法类型、优缺点及应用场景等方面展开详细介绍。

概念

决策树通过对训练样本的学习,并建立分类规则,然后依据分类规则,对新样本数据进行分类预测,属于有监督学习

核心

所有数据从根节点一步一步落到叶子节点

根节点:第一个节点

非叶子节点:中间节点

叶子节点:最终结果节点

需要考虑的问题:

1.哪个节点作为根节点?哪些节点作为中间节点?哪些节点作为叶子节点?

2.节点如何分裂?

3.节点分裂标准的依据?

决策树的分类标准

1.ID3算法

衡量标准:

熵值:表示随机变量不确定性的度量,或者说是物体内部的混乱程度

熵值计算公式:

举例说明(数据如下图):

熵:熵值越小,该节点越

第一遍遍历:

1.标签(结果是否外出打球)的(类别熵)

14天中,9天打球,5天不打球,熵为:

计算对数的Python程序

import math

result = -9/14*math.log(9/14, 2) - 5/14*math.log(5/14, 2)

2.基于天气的划分

属性熵

晴天【5天】的熵:

Overcast(阴天)【4天】的熵:

雨天【5天】的熵:

那么,天气对应标签结果的熵为:

熵值计算:

5/14*0.971+4/14*0+5/14*0.971=0.693

信息增益为:0.940-0.693=0.247

在决策树算法中,信息增益(information gain)是特征选择的一个重要指标。它描述的是一个特征能够为整个系统带来多少信息量(熵),用于度量信息不确定性减少的程度。

如果一个特征能够为系统带来最大的信息量,则该特征最重要,将会被选作划分数据集的特征。

3.基于温度的划分

Hot【4天】的熵:

Mild【6天】的熵:

Cool【4天】的熵:

熵值计算:4/14*1+6/14*0.918+4/14*0.811=0.911

信息增益为:0.940 – 0.911 = 0.029

4.基于湿度的划分

High【7天】的熵:

Normal【7天】的熵:

熵值计算:7/14*0.985+7/14*0.592=0.789

信息增益:0.940 – 0.789 =0.151

5.基于有风的划分

False【8天】的熵值:

True【6天】的熵值:

熵值计算:8/14*0.811 + 6/14*1 = 0.892

信息增益:0.940 - 0.892 = 0.048

综上:信息增益的大小:

天气:0.247

温度:0.029

湿度:0.151

有风:0.048

显然,信息增益最大的是: 天气 > 湿度 > 有风 > 温度

2.C4.5算法(解决稀疏向量的问题,例如编号)

衡量标准:信息增益率

C4.5算法是一种决策树生成算法,它使用信息增益比(gain ratio)来选择最优分裂属性,具体步骤如下:

1、计算所有样本的类别熵(H)。

2、对于每一个属性,计算该属性的熵【也为自身熵】(Hi)。

3、对于每一个属性,计算该属性对于分类所能够带来的信息增益(Gi = H - Hi)。

4、计算每个属性的信息增益比(gain ratio = Gi / Hi),即信息增益与类别自身熵的比值。

选择具有最大信息增益比的属性作为分裂属性。

3.CART决策树(用Gini指数最小化准则来进行特征选择。)

衡量标注:基尼系数

决策树剪枝

为什么要剪枝:

防止过拟合

如何剪枝:

预剪枝和后剪枝

通常进行预剪枝,因为后剪枝虽然精确度高,但是速度慢

预剪枝策略:

1.限制树的深度

2.限制叶子节点的个数以及叶子节点的样本树

3.基尼系数

决策树的优缺点


优点

简单直观,容易理解

不需要特征标准化

可处理离散和连续特征

对缺失值不敏感

可用于分类与回归

缺点


容易过拟合

对小样本数据不稳定

对类别不平衡敏感

可解释性好但精度可能不如集成方法(如随机森林、XGBoost)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 13:30:53

黄金购买力

坦率地说,要获得一份从15世纪至今、每十年甚至每百年、关于每盎司黄金能购买多少小麦的完整、精确的连续数据表,在公开的研究成果中几乎不存在。这需要拼接大量零散、计量单位不一的历史档案,是一项极其专业的学术工作。不过,我可…

作者头像 李华
网站建设 2026/4/16 19:51:17

Vulkan教程(十七):动态渲染:Vulkan 1.3 无帧缓冲/渲染通道的渲染方式

目录 一、动态渲染核心优势 二、动态渲染的核心结构体 三、动态渲染的命令缓冲记录实战 关键代码解析 四、动态渲染的核心价值 在早期 Vulkan 版本中,若要将图像视图绑定到渲染流程,必须创建帧缓冲对象并关联渲染通道。而 Vulkan 1.3 引入的动态渲染(Dynamic Rendering…

作者头像 李华
网站建设 2026/4/17 18:50:51

Vulkan教程(十八):命令缓冲:Vulkan 渲染指令的核心载体

目录 一、命令池(Command Pool):命令缓冲的内存管理器 1.1 添加类成员变量 1.2 创建命令池函数 1.3 关键参数解析 二、命令缓冲的分配 2.1 添加命令缓冲成员变量 2.2 分配命令缓冲函数 2.3 命令缓冲层级(level) 三、命令缓冲的记录 3.1 开始记录的配置 3.2 图像…

作者头像 李华
网站建设 2026/4/11 6:53:51

树莓派Pico‌的hc595例子

参考HC595串转并 wokwi.toml [wokwi] version 1 firmware "cmake-build-debug-pico/pipo_project.uf2" elf "cmake-build-debug-pico/pipo_project.elf"diagram.json {"version": 1,"author": "Uri Shaked","edit…

作者头像 李华
网站建设 2026/4/17 22:18:42

【数据库】【Redis】定位、优势、场景与持久化机制解析

Redis 是互联网技术栈的标配组件,既是高性能内存数据库,又是万能缓存中间件,其定位比传统数据库更灵活,比纯缓存更强大 一、Redis 的定位:不仅仅是缓存 Redis 的官方定位是 “In-Memory Data Structure Store” &…

作者头像 李华