三种决策树算法

ID3

ID3算法在特征选择时,使用的指标是信息增益(Information Gain),信息增益是基于熵(entropy)的概念,熵是用来衡量数据集中的不确定性或纯度的一个指标。当熵值高时,数据集的不确定性大,反之亦然。

信息增益的计算公式为:

I G ( D , A ) = E n t r o p y ( D ) − ∑ v ∈ V a l u e s ( A ) ∣ D v ∣ ∣ D ∣ ⋅ E n t r o p y ( D v ) IG(D, A) = Entropy(D) - \sum_{v \in Values(A)} \frac{|D_v|}{|D|} \cdot Entropy(D_v) IG(D,A)=Entropy(D)vValues(A)DDvEntropy(Dv)

其中:

I G ( D , A ) IG(D, A) IG(D,A) 是数据集 D D D 关于特征 A A A 的信息增益。
E n t r o p y ( D ) Entropy(D) Entropy(D) 是数据集 D D D 的熵。
V a l u e s ( A ) Values(A) Values(A) 是特征 A A A 所有可能的值。
D v D_v Dv 是数据集 D D D 中特征 A A A 取值为 v v v 的子集。
E n t r o p y ( D v ) Entropy(D_v) Entropy(Dv) 是子集 D v D_v Dv 的熵。

C4.5

信息增益倾向于选择具有更多值的属性。为了克服这个问题,C4.5引入了信息增益比,这个指标考虑了特征的内在信息,并且对具有大量值的特征进行惩罚。

信息增益比的计算公式为:
G a i n R a t i o ( D , A ) = I G ( D , A ) S p l i t I n f o ( D , A ) GainRatio(D, A) = \frac{IG(D, A)}{SplitInfo(D, A)} GainRatio(D,A)=SplitInfo(D,A)IG(D,A)
其中:

S p l i t I n f o ( D , A ) SplitInfo(D, A) SplitInfo(D,A) 是对特征 A A A 的分裂信息,用于度量分裂的平均信息值(或分裂的“广度”和“均匀性”),其计算公式为: S p l i t I n f o ( D , A ) = − ∑ v ∈ V a l u e s ( A ) ∣ D v ∣ ∣ D ∣ ⋅ log ⁡ 2 ∣ D v ∣ ∣ D ∣ SplitInfo(D, A) = - \sum_{v \in Values(A)} \frac{|D_v|}{|D|} \cdot \log_2 \frac{|D_v|}{|D|} SplitInfo(D,A)=vValues(A)DDvlog2DDv特征选择时,C4.5选择信息增益比最高的特征进行分裂。使用信息增益比可以减少对多值特征的偏好,使得生成的决策树更加平衡。

C4.5算法的其他特点
支持连续特征:C4.5可以处理连续和离散特征,连续特征的处理是通过将值排序并找到最佳分割点将其转换为离散值。

剪枝:C4.5使用后剪枝方法来避免过拟合,这意味着它首先生成一个完整的树,然后删除那些对分类效果贡献不大的节点。

缺失值处理:C4.5有一套内建的机制来处理缺失值,允许它在不完整的数据集上工作。

C4.5是一个十分强大且广泛使用的决策树生成算法,它的改进版本C5.0在速度和内存使用等方面有了进一步的优化。

CART

CART树是一种二叉树,每个内部节点都对应于一个输入特征和一个阈值,将数据集分为两个子集,分别进入左子树和右子树。根据目标不同,又可分为 分类树回归树

CART 分类树

对于分类问题,CART树的建立过程包括:

特征选择:CART树使用基尼不纯度(Gini impurity)作为特征选择的标准。基尼不纯度是从一个数据集中随机选择两个样本,它们的类标签不一致的概率。基尼不纯度最小的特征被用于分割。

基尼不纯度的计算公式为:
G i n i ( p ) = 1 − ∑ i = 1 J p i 2 Gini(p) = 1 - \sum_{i=1}^{J}p_i^2 Gini(p)=1i=1Jpi2
其中, p i p_i pi 是第 i i i 个类别的相对频率, J J J 是类别的总数。

树的构造:从根节点开始,递归地使用特征选择方法分割数据,生成二叉树。每个内部节点代表一个特征和阈值的判断,根据判断结果,样本被分到左子树或右子树。这一过程持续进行,直到满足停止条件,比如节点中的样本数量少于预设的阈值,或者节点的不纯度降至某个水平以下。

剪枝:为了避免过拟合,CART树在构造完成后会进行剪枝,将一些子树替换为叶节点。剪枝过程基于成本复杂度剪枝(Cost-Complexity Pruning),这涉及到一个参数 α \alpha α(被称为复杂度参数),用于控制树的复杂度和拟合的程度。

CART 回归树

对于回归问题,CART树的建立过程类似,但是有两个主要区别:

特征选择:CART回归树在每个节点上选取特征和划分阈值,以最小化两个子节点的平均平方误差(Mean Squared Error, MSE)或平均绝对误差(Mean Absolute Error, MAE)。

剪枝:回归树的剪枝过程同样使用成本复杂度剪枝,但是考虑的是平方误差与子树复杂度之间的平衡。

CART算法优点
简单直观,易于理解和解释。
既能处理分类问题,也能处理回归问题。
能够处理数值型和类别型特征。
通过剪枝可以有效防止过拟合。

CART算法缺点
对异常值敏感,容易受到噪声影响。
贪心算法的本质使得CART并不一定能够找到全局最优解。
倾向于生成偏向于拥有更多水平的树,因为二叉分割会导致不平衡的树结构。
CART树在许多领域都有应用,如医学、金融、市场营销等,并且它是许多集成学习方法(例如随机森林和梯度提升树)的基础。

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

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

相关文章

Notepad++插件:格式化JSON

一、问题描述 最近有这么一串json字符串: 你想看吗? 是不是觉得密密匝匝滴,很不想看呢? 下面是经过处理的json字符串: 你喜欢哪种格式的json字符串展示呢? 反正我喜欢已经格式化的,也就是第二…

​html.parser --- 简单的 HTML 和 XHTML 解析器​

源代码: Lib/html/parser.py 这个模块定义了一个 HTMLParser 类,为 HTML(超文本标记语言)和 XHTML 文本文件解析提供基础。 class html.parser.HTMLParser(*, convert_charrefsTrue) 创建一个能解析无效标记的解析器实例。 如果…

金蝶云星空和旺店通·企业奇门单据接口对接

金蝶云星空和旺店通企业奇门单据接口对接 对接源平台:旺店通企业奇门 慧策(原旺店通)是一家技术驱动型智能零售服务商,基于云计算PaaS、SaaS模式,以一体化智能零售解决方案,帮助零售企业数字化智能化升级,实…

Unity - 插件至 ZXing

Unity 使用 ZXing 生成和扫描二维码 Reference: Unity 使用 ZXing 生成和扫描二维码_unity 生成二维码-CSDN博客

基于单片机的电阻、电容、电感测试仪(论文+源码)

1.系统设计 1)控制部分:本设计以单片机为核心,采用89C52单片机,利用其管脚的特殊功能以及所具备的中断系统,定时/计数器和LCD显示功能等。在本设计中,采用LCD1602液晶显示:本设计中有1个CD4502、3个LM555、…

每日汇评:黄金阻力最小路径显示上行

周五早间,金价正盘整超过2030美元的周涨幅; 美联储确认鸽派政策转向,美元和美国国债收益率双双下挫; 在有利的技术面下,金价仍面临上行风险 ; 周五早盘,金价在1930美元上方窄幅波动,…

弹性搜索引擎Elasticsearch:本地部署与远程访问指南

🌈个人主页:聆风吟 🔥系列专栏:网络奇遇记、Cpolar杂谈 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言系统环境1. Windows 安装Elasticsearch2. 本地访问Elasticsearch3. Windows 安装…

挑战52天学小猪佩奇笔记--day23

52天学完小猪佩奇--day23 ​【本文说明】 本文内容来源于对B站UP 脑洞部长 的系列视频 挑战52天背完小猪佩奇----day23 的视频内容总结,方便复习。强烈建议大家去关注一波UP,配合UP视频学习。 day23的主题:新车 语境:旁白描述场景…

FM30H12G N通道沟槽电源MOS管 封装形式PDFN5*6

FM30H12G 是一款 N通道沟槽电源的场效应管(MOS管),封装形式:PDFN5*6。 来百度APP畅享高清图片 FM30H12G应用: 1、液晶电视 2、笔记本 3、电梯 4、感应加热 5、电动工具

圈子社交文化系统,了解生活,更了解你!APP小程序H5三端源码交付,支持二开!

在这个快节奏的时代,圈子社交系统成为了我生活中不可或缺的一部分。通过这个系统,我不仅可以结识到志同道合的朋友,还可以参与各种有趣的活动和发布自己的心情和见解。在这个圈子里,我感受到了无限的可能性和温暖的人性。 首先&am…

劲松中西医结合医院专家在线解读:宫颈HPV感染后多久会发病

宫颈HPV感染后多久会发病,一般没有具体时间。因为宫颈HPV感染后,受到多种因素的影响,每个人的发展速度和病情严重程度都有所不同。 一般而言,HPV感染后需要较长时间才能引起宫颈病变。在这个过程中,病毒会与宫颈细胞结…

文件系统和磁盘调度

文件系统 概述 文件系统:一种用于持久性存储的系统抽象 在存储器上:组织、控制、导航、访问和检索数据大多数计算机包含文件系统 文件:文件系统中一个单元的相关数据在操作系统中的抽象 文件系统功能 分配文件磁盘空间 管理文件块管理空…

流控制传输协议SCTP

前言 流控制传输协议(Stream Control Transmission Protocol,SCTP)是一种在网络连接两端同时传输多个数据流的协议。SCTP和TCP类似,都是通过确认机制实现数据传输的安全性。二者最大的区别是,SCTP是多宿主&#xff08…

day36算法训练|贪心part05

435. 无重叠区间 我来按照右边界排序&#xff0c;从左向右记录非交叉区间的个数。最后用区间总数减去非交叉区间的个数就是需要移除的区间个数了。图源&#xff1a;代码随想录 class Solution { public:// 按照区间右边界排序static bool cmp (const vector<int>& a…

小程序人脸识别—检测人脸图片获取图片

wxml <view><view class"flex white"><!-- 镜头翻转 --><view bindtap"reverse">镜头翻转</view><view bindtap"clickScanCode">扫二维码</view></view><view class"head-image-box w…

面试题:SpringBoot 如何自定义自己的条件注解与自动配置?

文章目录 前言自定义条件注解自定义自动配置 前言 Spring Boot的核心功能就是为整合第三方框架提供自动配置&#xff0c;而本文则带着大家实现了自己的自动配置和Starter&#xff0c;一旦真正掌握了本文的内容&#xff0c;就会对Spring Boot产生“一览众山小”的感觉。 自定义…

ArcGIS Maps SDK for JS:关闭地图边框(v4.27)

1 问题描述 近期&#xff0c;将ArcGIS Api for JS v4.16更新到了ArcGIS Maps SDK for JS v4.27&#xff0c;原本去除地图的css代码失效了。v4.27需要用.esri-view-surface--touch-none::after控制边框属性。 下面为没有关闭地图边框的效果图。&#xff08;亮色版地图为黑色边…

LeetCode-42. 接雨水【栈 数组 双指针 动态规划 单调栈】

LeetCode-42. 接雨水【栈 数组 双指针 动态规划 单调栈】 题目描述&#xff1a;解题思路一&#xff1a;单调栈&#xff0c;维护一个单调递减栈。每当遇到当前元素大于栈顶元素就出栈&#xff0c;在出栈时更新答案。当遇到出栈的情况&#xff0c;若单调栈栈左边有一个元素则必有…

基于深度学习的Python+OpenCV的甲骨文相似度评估系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介1. 数据获取2. 深度学习模型训练3. 图像相似度评估4. 结果展示 二、功能三、系统四. 总结 一项目简介 基于深度学习的PythonOpenCV的甲骨文相似度评估系统&…

【INTEL(ALTERA)】 quartus 专业版软件 23.4 中模拟以太网子 FPGA IP 时p_ss_app_st_tx_ready 信号变为 X

问题描述 选择启用<n>前导码直通参数时&#xff0c;为什么在模拟以太网子英特尔 FPGA IP系统的 40GbE 和 50GbE Intel Agilex 7 F-Tile 变体时&#xff0c;p_ss_app_st_tx_ready 信号变为 X。 说明 由于英特尔 Quartus Prime 专业版软件 23.4 中存在一个问题&#xff…