机器学习----决策树

news2025/7/22 6:59:33

一、决策树简介

from sklearn.tree import DecisionTreeClassifier

from sklearn.tree import plot_tree

        决策树是一种树形结构,树中每个内部节点表示一个特征上的判断,每个分支代表一个判断结果的输出,每个叶子节点代表一种分类结果。

决策树的建立过程(三要素):

1.特征选择:选择较强分类能力的特征;

2.决策树的生成:根据选择的特征生成决策树;

3.决策树的剪枝:决策树也容易过拟合,采用剪枝的方法缓解过拟合。

二、信息熵

“信息熵”:是信息论中的一个核心概念,它本质上是对不确定性或信息量的度量。

信息熵越大,信息的不确定性越大,信息的纯度越低,分类的效果越差;

信息熵越小,信息的不确定性越小,信息的纯度越高,分类的效果越好。

H\left ( x \right )=-\sum_{i=0}^{n}P\left ( x_{i} \right )log_{2}P\left ( x_{i} \right )

其中P\left ( x_{i} \right )表示数据中x_{i}类别出现的概率,H\left ( x \right )表示数据的信息熵,单位是比特。

三、ID3决策树

1.特征选择

信息增益:g(D,A)=H(D)-H(D|A),信息增益 = 熵 - 条件熵

条件熵:子集1占比*子集1的熵作为子集1的结果,然后对所有计算结果求和。

2.决策树的生成

①计算每个特征的信息增益

②使用信息增益最大的特征将数据集拆分为子集

③使用该特征(信息增益最大的特征)作为决策树的一个节点

④若该节点已成功分类(节点中只有一个类的样本)或该节点达到停止生长条件,则停止生长,否则使用剩余特征对子集重复上述(1,2,3)过程。
 

3.不足

基于信息增益计算的方式,会偏向于选择种类多的特征作为分裂依据。

四、C4.5决策树

1.特征选择

信息增益率:信息增益率=信息增益/特征熵。

特征熵(也称惩罚系数):-\sum_{i=0}^{n}(特征子集1的占比*log_{_{2}}(特征子集1的占比))

2.决策树的生成

类似ID3,只是调整为基于信息增益率进行特征选择,选择增益率大的特征作为分裂依据。

五、CART决策树

Cart模型是一种决策树模型,它即可以用于分类,也可以用于回归。

Cart回归树使用平方误差最小化策略,

Cart分类生成树采用的基尼指数最小化策略。

1.Cart分类树

        特征选择:基尼值:

                          基尼系数:

        决策树的生成:类似ID3,调整为基于基尼系数进行特征选择。

2.Cart回归树

特征选择:最小化回归树预测结果的平方误差。

决策树的生成:1.选择一个特征,将该特征的值进行排序,取相邻点计算均值作为待划分点
                         2.根据所有划分点,将数据集分成两部分:R1、R2
                         3.R1 和 R2 两部分的平方损失相加作为该切分点平方损失
                         4.取最小的平方损失的划分点,作为当前特征的划分点
                         5.以此计算其他特征的最优划分点、以及该划分点对应的损失值
                         6.在所有的特征的划分点中,选择出最小平方损失的划分点,作为当前树的分裂点

六、三种决策树的对比

1.ID3:分支方式(指标)是信息增益

        特点:①ID3只能对离散属性的数据集构成决策树

                   ②倾向于选择取值较多的属性

2.C4.5:分支方式(指标)是信息增益率

        特点:①缓解了ID3分支过程中总喜欢偏向选择值较多的属性

                   ②可处理连续数值型属性,也增加了对缺失值的处理方法

                   ③只适合于能够驻留于内存的数据集,大数据集无能为力

3.CART:分支方式(指标)是基尼指数

        特点:①可以进行分类和回归,可以处理离散属性,也可以处理连续属性

                   ②采用基尼指数,计算量减小

                   ③一定是二叉树

七、剪枝

概念:决策树剪枝(Pruning)是防止决策树过拟合、提高模型泛化能力的关键技术。

问题:当决策树生长得太深、分支太多时,它会过度拟合训练数据中的噪声和细节,导致在未知数据上表现很差。

方案:剪枝通过移除对整体预测贡献不大或可能导致过拟合的部分子树或节点来解决这个问题。

什么是决策树的剪枝:把子树的节点全部删掉,并将该节点作为叶子节点。

决策树剪枝方法:1.预剪枝:在树生长过程中提前停止分裂,比如提前限制树的最大深度(优点:计算效率高,训练快;缺点:可能过早停止,错过重要模式);

2.后剪枝:先让树完全生长,再自底向上修剪子树(优点:保留更多有效结构,泛化性能通常更好;缺点:计算开销大)。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LabVIEW输血袋字符智能检测系统

针对医疗行业输血袋字符检测需求,基于 LabVIEW 图形化开发平台与基恩士(KEYENCE)机器视觉硬件,构建高精度、高可靠性的字符在线识别系统。通过选用基恩士工业相机、光源及 NI 数据采集设备等硬件,结合 LabVIEW 强大的图…

理解频域滤波

1 频域滤波基础 对一幅数字图像,基本的频率滤波操作包括: 1)将图像变换到频率域; 2)根据需要修改频率域数值; 3)反变换到图像域。 使用公式表达为 , H(u,v) 为滤波器(滤…

Telerik生态整合:Kendo UI for Angular组件在WinForms应用中的深度嵌入(一)

Telerik DevCraft包含一个完整的产品栈来构建您下一个Web、移动和桌面应用程序。它使用HTML和每个.NET平台的UI库,加快开发速度。Telerik DevCraft提供完整的工具箱,用于构建现代和面向未来的业务应用程序,目前提供UI for ASP.NET MVC、Kendo…

古老的传说(Player、Stage)是否还能在蓝桥云课ROS中重现-250601(失败)

古老的传说是否还能在蓝桥云课ROS中重现-250601 经典复现何其难,百分之二就凉凉! 古老的传说 那是很久很久以前的故事……上个世纪的一个机器人项目 Player、Stage这个项目最早起源于1999年,由美国南加州大学机器人研究实验室开发&#xff0…

InfluxQL 数据分析实战:聚合、过滤与关联查询全解析

InfluxQL 作为时序数据库的专用查询语言,在处理时间序列数据时展现出独特优势。本文深入探讨 聚合计算、数据过滤和跨测量关联 三大核心操作,通过真实代码示例展示如何从海量时序数据中提取关键洞察。文中涵盖从基础平均值计算到复杂多维度分析的完整流程…

Qt font + ToolTip + focusPolicy + styleSheet属性(5)

文章目录 font属性API接口直接在Qt Designer编辑图形化界面通过纯代码的方式修改文字属性 ToolTip属性API接口代码演示 focusPolicy属性概念理解API接口通过编辑图形化界面演示 styleSheet属性概念理解通过编辑图形化界面展示代码 图形化界面的方式展示(夜间/日间模…

十三: 神经网络的学习

这里所说的“学习”是指从训练数据中自动获取最优权重参数的过程。为了使神经网络能进行学习,将导入损失函数这一指标。而学习的目的就是以该损失函数为基准,找出能使它的值达到最小的权重参数。为了找出尽可能小的损失函数的值,我们将介绍利…

LeetCode 高频 SQL 50 题(基础版)之 【聚合函数】部分

题目:620. 有趣的电影 题解: select * from cinema where description !boring and id%21 order by rating desc题目:1251. 平均售价 题解: select p.product_id product_id,round(ifnull(sum(p.price*u.units)/sum(u.units),0)…

【AI学习】检索增强生成(Retrieval Augmented Generation,RAG)

1,介绍 出自论文《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》,RAG是权宜之计,通过RAG将问题简单化、精简化、剔除噪声,让LLM更容易理解、生成内容。RAG:检索增强技术检索生成(重…

低成本高效图像生成:GPUGeek和ComfyUI的强强联合

一、时代背景 在如今的数字化时代,图像生成技术正不断发展和演变,尤其是在人工智能领域。无论是游戏开发、虚拟现实,还是设计创意,图像生成已成为许多应用的核心技术之一。然而,随着图像质量需求的提升,生成…

《操作系统真相还原》——进入内核

ELF 按书上的操作来,在现代操作平台编译链接默认生成elf64 格式的文件, 很显然程序头位置发生变化,因为定义elf 结构的类型中有64位,所以我们需要将编译链接出32位格式的 gcc -m32 -c -o main.o main.c ld -m elf_i386 main.o …

【QQ音乐】sign签名| data参数 | AES-GCM加密 | webpack(上)

1.目标 网址:https://y.qq.com/n/ryqq/toplist/26 切换榜单出现请求,可以看到sign和data是加密的 2.逆向分析 搜索sign: 可以看到sign P(n.data),而n.data就是请求的加密data参数 data {"comm":{"cv":4747474,&qu…

【STM32】按键控制LED 光敏传感器控制蜂鸣器

🔎【博主简介】🔎 🏅CSDN博客专家 🏅2021年博客之星物联网与嵌入式开发TOP5 🏅2022年博客之星物联网与嵌入式开发TOP4 🏅2021年2022年C站百大博主 🏅华为云开发…

M-OFDM模糊函数原理及仿真

文章目录 前言一、M序列二、M-OFDM 信号1、OFDM 信号表达式2、模糊函数表达式 三、MATLAB 仿真1、MATLAB 核心源码2、仿真结果①、m-OFDM 模糊函数②、m-OFDM 距离分辨率③、m-OFDM 速度分辨率④、m-OFDM 等高线图 四、资源自取 前言 本文进行 M-OFDM 的原理讲解及仿真&#x…

【MySQL】MVCC与Read View

目录 一、数据库并发的三种场景 二、读写场景的MVCC (一)表中的三个隐藏字段 (二)undo 日志 (三)模拟MVCC (四)Read View (五)当前读和快照读 三、RC和…

相机--双目立体相机

教程 链接1 教程汇总 立体匹配算法基础概念 视频讲解摄像机标定和双目立体原理 两个镜头。 双目相机也叫立体相机--Stereo Camera,属于深度相机。 作用 1,获取图像特征; 2,获取图像深度信息; 原理 原理和标定 …

多目标粒子群优化算法(MOPSO),用于解决无人机三维路径规划问题,Matlab代码实现

多目标粒子群优化算法(MOPSO),用于解决无人机三维路径规划问题,Matlab代码实现 目录 多目标粒子群优化算法(MOPSO),用于解决无人机三维路径规划问题,Matlab代码实现效果一览基本介绍…

工厂模式 vs 策略模式:设计模式中的 “创建者” 与 “决策者”

在日常工作里,需求变动或者新增功能是再常见不过的事情了。而面对这种情况时,那些耦合度较高的代码就会给我们带来不少麻烦,因为在这样的代码基础上添加新需求往往困难重重。为了保证系统的稳定性,我们在添加新需求时,…

37. Sudoku Solver

题目描述 37. Sudoku Solver 回溯 class Solution {vector<vector<bool>> row_used;vector<vector<bool>> col_used;vector<vector<bool>> box_used;public:void solveSudoku(vector<vector<char>>& board) {row_used.r…

RV1126-OPENCV 图像叠加

一.功能介绍 图像叠加&#xff1a;就是在一张图片上放上自己想要的图片&#xff0c;如LOGO&#xff0c;时间等。有点像之前提到的OSD原理一样。例如&#xff1a;下图一张图片&#xff0c;在左上角增加其他图片。 二.OPENCV中图像叠加常用的API 1. copyTo方法进行图像叠加 原理…