决策树模型类型及计算方法

决策树模型(Decision Tree) P1P_1P1​:表一种类别的数据占总数居的比例。P01−P1P0​1−P1​:表示除了P1P_1P1​类别以外的其他数据占总数据的比例。 阅读详情

决策树是一种基于树结构的机器学习模型,通过递归划分数据实现分类或回归。以下是几种核心决策树算法及其计算逻辑:


1. ID3 决策树(Iterative Dichotomiser 3)
  • 用途:分类任务(不支持连续特征和回归)。

  • 特征选择标准:信息增益(Information Gain)。

    • 信息熵:衡量数据集的混乱度。

      pi​ 为数据集中第 i类样本的比例。

    • 信息增益:选择分裂后熵减少最多的特征。

      V为特征 A 的取值数,Dv​ 是特征 A 取第 v 值的子集。

  • 流程:

    1. 计算所有特征的信息增益。

    2. 选择增益最大的特征作为当前节点。

    3. 递归分裂子节点,直到纯度达标或无法分裂。

  • 缺点:

    • 偏向取值多的特征(如“用户ID”)。

    • 无法处理连续特征和缺失值。


2. C4.5 决策树
  • 改进点:解决ID3的不足,支持连续特征和缺失值。

  • 特征选择标准:信息增益率(Gain Ratio)。

    • 固有值(Intrinsic Value):惩罚多值特征。

    • 信息增益率:

  • 处理连续特征:

    • 对连续值排序后,选择最佳分割点(如中位数)。

  • 流程:

    1. 对每个特征计算增益率。

    2. 选择增益率最高的特征分裂。

    3. 递归生成子树,后剪枝防止过拟合。


3. CART 决策树(Classification and Regression Tree)
  • 用途:分类和回归任务。

  • 特征选择标准:

    • 分类任务:基尼指数(Gini Index)。

    • 回归任务:最小平方误差(MSE)。

      y^为节点样本的均值。

  • 分裂方式:

    • 二叉树结构,每个节点仅分裂为左右两个子集。

    • 遍历所有特征及切分点,选择基尼指数或MSE最小的分裂方式。

  • 剪枝方法:

    • 成本复杂度剪枝(CCP):平衡树的复杂度与误差。


4. C5.0 决策树
  • 改进点:C4.5的商业优化版本。

  • 特点:

    • 更高的计算效率,支持更大数据集。

    • 自动处理缺失值,支持Boosting增强。

  • 核心逻辑:与C4.5类似,但引入自适应增强(AdaBoost)提升精度。


模型对比与适用场景

算法任务类型特征选择标准树结构优点缺点
ID3分类信息增益多叉树简单直观无法处理连续特征,偏向多值特征
C4.5分类信息增益率多叉树支持连续特征,解决ID3偏向问题计算复杂度高
CART分类、回归基尼指数、平方误差二叉树高效、支持回归任务可能生成较深的树
C5.0分类(增强版)信息增益率多叉树高效、支持Boosting商业闭源

关键计算示例

示例1:基尼指数计算(CART分类树)

假设数据集 DD 有10个样本,类别分布为 [7, 3](正例:负例=7:3):

若按某特征分裂后,子节点基尼指数分别为 0.3(左)和 0.4(右),样本数比例为 6:4:

加权基尼=0.3×610+0.4×410=0.34

选择基尼指数下降最大(0.42 - 0.34 = 0.08)的分裂点。

示例2:回归树MSE计算(CART回归树)

节点样本目标值为 [2, 4, 6],均值为 y^=4:


总结

  • ID3/C4.5:适合分类任务,C4.5优化了连续特征处理。

  • CART:全能型,支持分类和回归,二叉树结构高效但需剪枝。

  • 选择建议:

    • 需要可解释性 → CART(基尼指数)。

    • 高维数据 → C4.5/C5.0(信息增益率)。

    • 回归任务 → CART(MSE或MAE)。

决策树模型 文章目录模型概述模型表达式目标函数最优化方法模型举例ID3C4.5 模型概述 决策树(Decision Tree)是一类解释性强的机器学习非线性监督模型。 模型表达式 已知训练样本集{xi,yi},i=1,2,...,m\{x^i,y^i\}, i=1,2,...,m{xi,yi},i=1,2,...,m, 其中m为样本个数,xi=[x1i,x2i,...,xni]x^i=[x_1^i, x_2^... 阅读详情

相关推荐

《机器学习实战》(三)决策树(decision trees)

决策树的构造 优点 计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据。缺点 可能会产生过度匹配(overfitting)问题。试用数据范围 数值型和标称型。 信息增益:在划分数据集之前之后信息发生的变化。符号xix_i的信息定义为 l(xi)=−log2p(xi)l\left(x_i\right)=-log_2p\left(x_i\right) 其中p(xi)p\l

长屌少女 2015

【机器学习15】决策树模型详解

决策树算法前言一、决策树算法的概述1.树模型2.树模型基本流程二、熵的作用三、决策树构造实例四、信息增益率和gini系数五、剪枝方法六、分类、回归任务七、树模型的可视化展示八、决策边界展示分析九、决策树预剪枝常用参数十、回归树模型总结 前言 随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的决策树的详细内容。 一、决策树算法的概述 1.树模型 决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。

lys_828的博客 4万+

Part1-Chapter3-决策树

本章主要内容为决策树的概念、构造、信息增益的定义、熵的计算、如何根据信息熵划分数据集并搭建决策树、使用Matplotlib注解绘制树形图、存储和打开决策树,以及一个决策树的应用实例。(代码均为ID3算法) 决策树:决策树的数据结构是一棵树,所有非叶结点上包含了一个判定标准,数据根据这个判定的结果,走向不同的分支,并最终归类为叶节点上的类。 信息增益:划分数据集前后,信息发生的变化称之为信息增益。通...

JachinMa的博客 284

参数调优:K折交叉验证与GridSearch网格搜索

本文代码及数据集来自《Python大数据分析与机器学习商业案例实战》 一、K折交叉验证 在机器学习中,因为训练集和测试集的数据划分是随机的,所以有时会重复地使用数据,以便更好地评估模型的有效性,并选出最好的模型,该做法称为交叉验证。具体而言就是对原始样本数据进行切分,然后组合成为多组不同的训练集和测试集,用训练集训练模型,用测试集评估模型。某次的训练集可能是下次的测试集,故而称为交叉验证。 交叉验证的方法有简单交叉验证、K折交叉验证和留一交叉验证3种。其中K折交叉验证应用较为广泛,它是指将数据集随机等分.

m0_46388544的博客 3207

机器学习-决策树的全面视频教学

熵是一个衡量系统无序程度的指标,在信息论中,它表示信息的不确定性或随机性。数学上,熵被定义为信息的期望值,其公式为:其中 ( H(X) ) 表示随机变量 ( X ) 的熵,( p(x_i) ) 是 ( X ) 取特定值 ( x_i ) 的概率。对数底数为2,因此熵的单位是比特(bit)。在实际计算中,对概率为0的情况进行处理,避免对数运算中的无穷大问题。Python中实现决策树算法的库有很多,包括但不限于Scikit-Learn, XGBoost, LightGBM, 和CART等。

weixin_36487018的博客 1081

STM32CubeIDE串口打印浮点数踩坑实录:5分钟搞定printf输出小数(附完整配置截图)

本文针对STM32CubeIDE中串口无法打印浮点数的常见问题,提供了详细的解决方案。核心在于通过添加“-u _printf_float”链接器参数,启用标准库的浮点数格式化支持。文章附有完整的配置截图和步骤,并提供了系统性的排查清单,帮助开发者快速解决printf输出小数的问题。

weixin_29163797的博客 344

机器学习中树模型算法总结之 决策树(上)

写在前面 最近在写小论文的时候接触到了XGBoost,才发现这算法真的是神一般的存在,去网上搜了一下居然绝大多数竞赛winner用的也是这个算法(这算不算开挂haha~)。发现这么好用的算法如果只是会用的话真是可惜,所以决定放下手头的论文,先仔细地研究研究。但是在网上看XGBoost资料的时候觉得自己以前看的树模型算法都忘得差不多了,所以就趁着这个机会把机器学习里的树模型算法重新再...

Kaiyuan_sjtu的博客 5538

雷达工程师避坑指南:STAP处理中,间歇采样转发干扰为什么这么难对付?

本文深入解析了STAP处理中间歇采样转发干扰(ISRJ)的挑战与应对策略。通过分析ISRJ的工作机制和自由度消耗问题,结合仿真数据对比,揭示了其与传统压制干扰的本质差异。文章还探讨了在工程实践中如何构建有效的防御体系,包括降维处理技术选择和混合架构设计,为雷达工程师提供了实用的避坑指南。

weixin_30530339的博客 274

决策树——信息熵与信息增益

参考:[https://www.cnblogs.com/YouXiangLiThon/p/7214393.html] 信息熵(Entropy):度量信息的不确定度,熵越大,不确定度越高,在分类中类别越多,也就说包含的信息越多。 计算方法:X表示某个分类,P(x)选择该分类的概率。H(X)所有类别之和 例如:天气预报的例子, 在14天中,play=no的事件为5,paly=Yes的事件为9.分类之...

weixin_43826596的博客 3362

R语言 | 关联规则

关联规则(AssociationRules)是无监督的机器学习方法,用于知识发现,而非预测。 关联规则的学习器(learner)无需事先对训练数据进行打标签,因为无监督学习没有训练这个步骤。缺点是很难对关联规则学习器进行模型评估,一般都可以通过肉眼观测结果是否合理。 关联规则主要用来发现Pattern,最经典的应用是购物篮分析,当然其他类似于购物篮交易数据的案例也可以应用关联规则进行模式发现。

I think so I am 10万+

自建邮局服务器| 批量邮件群发系统PowerMTA+oem(mumara,mailwizz, interspire)

世界顶级自建邮局服务器PowerMTA+oem(mumara,mailwizz, interspire) PowerMTA4.5(最好用的 群发邮件软件)是用于大批量多ip开发的邮件传递邮寄。可按每小时发送数近百万条电子邮件,发送IP地址和域可以详细配置,加上目前流行前端oem,mumara,mailwizz, interspire等,可定时发送,定时重复发送,实现全自动化 邮件群发 方案。 官网(powermta4.5下载) https://www.sparkpost.com/powermta/ 使用Po

ytrsexpo的博客 6506

Python3《机器学习实战》代码笔记(二)--- 决策树算法

参考资料: 机器学习实战 决策树的python3实现代码: """ @Descripttion: 决策树 优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据 缺点:可能会产生过度匹配问题 适用数据类型:数值型和标称型 @version: 0.0.1 @Author: tqrs @dev: python3 vscode @Date: 2019-06-03 12:15...

天青如水的博客 503

实例讲解Simulink CAN通讯丢失故障判定模型搭建及仿真测试验证方法

本文通过ABS通讯丢失故障触发、判定条件Simulink模型的搭建和仿真的讲解,介绍了一种控制器CAN通讯丢失故障判定的方法和建模方法,希望能给相关技术人员带来一定参考和帮助。

qq_43011586的博客 3686

机器学习之算法决策树(分类)——通过例子说明信息熵的计算方法

决策树采用的是信息熵或者Gini系数来作为分类标准。 信息熵公式: Gini系数公式: 一般构造一个分类器(sklearn.tree.DecisionTreeClassifier),默认参数criterion有{“gini”, “entropy”}, 其中default=”gini”。这两个计算公式不一样而已。 我在这里计算的是信息熵的公式,另外的一个也都一样,换一个公式而已。 我们在提到概率问题的时候都会有一个前提假设,假设这些变量或者特征都是相互之间没有关系的,就不会存在组合的情况,不然就没办法计算概率

PY_smallH的博客 6282

华为OD机试真题 Java&Go 实现【优雅子数组】【100%通过率】【2022.11 Q4 新题】

如果一个数组中出现次数最多的元素出现大于等于K次,被称为K -优雅数组,k也可以被称为优雅阈值。例如,数组1,2,3,1、2,3,1,它是一个3-优雅数组,因为元素1出现次数大于等于3次,数组1,2,3,1,2就不是一个3-优雅数组,因为其中出现次数最多的元素是1和2,只出现了2次。给定一个数组A和k,请求出A有多少子数组是k-优雅子数组。

MISAYAONE的博客 1万+

AIGC实战——变分自编码器(Variational Autoencoder, VAE)

变分自编码器通过在模型中引入随机性,并限制潜空间中的点的分布来解决自编码器存在的问题。只需进行一些微小的调整,就可以将自编码器转换为变分自编码器,从而使其成为真正的生成模型。在本节中,我们介绍了变分自编码器的基本原理,并使用 `Keras` 实现了一个变分自编码器用于生成 Fashion-MNIST 图像。

盼小辉丶的博客 1万+

决策树从理论到 Python 实现再到实战,万字长文 + 思维导图.整理

程序锅建议您先收藏一波,后头再细细品味。0. 本文框架为了更好的理解本片文章讲解的框架,今后我会在文章最开始的时候给你来一个思维导图(作者刚开始学习制作思维导图,会存在一定的缺陷,还希望...

多选参数 767

windows在使用ping 127.0.0.1时出现一般故障的解决方案

本文主要介绍了windows在使用ping 127.0.0.1时出现一般故障的解决方案,希望能对使用windows的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 7万+

python小白到机器学习——决策树

夜晚没有星星没有月亮,只有一盏台灯和一杯经典白咖啡,打起精神,面对csdn,开启这篇垃圾的没有人看的博客。别问我这张图是哪里来的,图片是我行途中的收获,正如同我码代码的精神 我时常再问自己写博客是为了啥,以前觉得没有什么大不了的,不就是写个博客,供给别人参考,让他们去看看你猜的坑是不是他要解决的问题。然后要么被吐槽,要么一句卧槽,跟我遇到问题一样赶紧试试,试完之后还是一句卧槽,坑爹。后来我...

weixin_36279234的博客 235

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

【机器学习】决策树的使用和代码示例(一)

机器学习学习笔记 Sklearn入门 决策树(一)——分类树 决策树(二)——回归树 文章目录1 决策树是如何工作的2 决策树建模的基本流程3 Sklearn中的决策树4 DicisionTreeClassifier 分类树4.1 重要参数4.1.1 critertion例子:建立一棵树4.1.2 控制随机性:random_state & splitter4.1.3 剪枝参数max_depthmin_samples_leaf & min_samples_splitmax_featur

毕业于东北大学软件工程专业,现就职于字节跳动 1160

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

机器学习之决策树

在之前说了用线性回归的方法来对训练数据进行训练,然后通过得到的方程式来对测试数据进行了测试,这里就介绍下,自己对于同样的问题而进行决策树的划分构造树结构。 在这里就不重复说训练数据的格式了,可以看看我之前写的线性回归的那一篇文章。 决策树的步骤: 一、 实验要求 对数据使用决策树的方法对鸢尾花进行分类,进行实验比较、精度比较并写成实验报告。 二、 实验原理 决策树(Decision

Cs_hnu_scw的博客 1990

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

决策树算法原理详解+python代码实现

决策树算法的一般步骤,原理介绍,从零函数实现以及scikit-learn调库实现,包括matplotlib可视化和grahviz可视化结果展示。

qq_46426207的博客 1204

C4.5决策树算法原理学习

决策树 由于毕业设计的需要,C4.5算法被用来做数据预处理工作,这篇文章主要用于学习决策树相关概念以及C4.5算法的实现。ps:毕设需要的不是构建一个完整的决策树出来,而是得出所有属性的信息增益率,取前几,所以本文主要研究数学概念。 决策树的概念 决策树是一个预测模型;他代表的是对象属性与对象值之间的一种映射关系。 从数据产生决策树的机器学习技术叫做决策树学习, 通俗说就是决策树。 一个决策树包含三种类型的节点: 决策节点:通常用矩形框来表示 机会节点:通常用圆圈来表示 终结点:通常用三角形来表示 决策

weixin_52142282的博客 1274

决策树和集成学习的概念以及部分推导

决策树:ID3,C4.5,CART决策树和剪枝 集成学习:随机森林,adaboost,GBDT,XGBoost

egglikeFe的博客 1453

《机器学习实战》代码片段学习2 决策树

决策树概述决策树可以根据对输入特征属性的层层筛选选定数据所属的类。决策树能直观的展示数据的结构层次,利于理解。“…决策树可以使用不熟悉的数据集合,并从中提取出一系列规则,在这些机器根据数据创建规则时,就是机器学习的过程。”

彼岸花开的彼岸 270

读书笔记:机器学习实战【第3章 决策树】

读书笔记:机器学习实战【第3章 决策树】决策树的优点: 计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据。缺点: 可能会产生过度匹配问题适用数据类型:数值型,标称型。3.1 决策树的构造在构造决策树时,要解决的第一个问题就是,当前数据集上哪个特征在划分数据分类的时候起决定作用。为了找到决定性特征,划分出最好的结果,我们必须苹果每个特征,而完成测试之后,原始数据集就被

欲速求达,三思后行 774
上一篇: 在深度网络中,当批量梯度下降(Batch Gradient Descent)过程过于缓慢时,可以采用以下技术加速训练并帮助成本函数 J快速收敛到较小值
下一篇: 逻辑回归与决策树的区别
linux_py
博客等级 码龄8年 54粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值