决策树原理学习笔记(二)

决策树模型及案例(Python) 目录 1 决策树模型简介 2 Gini系数(CART决策树) 3信息熵、信息增益 4决策树模型代码实现 4.1分类决策树模型(DecisionTreeClassifier) 4.2回归决策树模型(DecisionTreeRegressor) 5案例:员工离职预测模型 5.1模型搭建 5.1.1数据读取与预处理 5.1.2提取特征变量和目标变量 5.1.3划分训练集与测试集 5.1.4模型搭建及训练 5.1.5代码汇总 5.2模型预测及评估 5.2.1直... 阅读详情

上篇文章介绍了ID3和C4.5算法,针对C4.5算法的缺点,本文介绍CART树算法,CART树既能用于分类,也能用于回归,Scikit-Learn官网的决策树算法也是使用了CART树实现。

1. 二叉树

CART树处理划分所有特征为“是”和“否”,即每个节点都只能分裂称两个节点。假设特征A有3个取值,A1,A2和A3,若使用了ID3和C4.5决策树算法,则节点会分裂成三个子节点;若使用了CART决策树算法,节点会分裂成两个节点,如A1和{A2,A3},{A1,A2}和A3等,二叉树叫多叉树的运算效率高。

2. 模型不确定性的度量指标

ID3和C4,5算法使用熵度量了数据的不确定性,因为其使用了对数运算造成了算法计算量大。

CART树使用了基尼系数来衡量数据的不确定性,去掉了对数运算。

对于给定的样本D,假设有K个类别,第K个类别的数量为,其基尼系数为:

基尼系数越小,不确定性越小,特征越好,含义与熵相反。

3. CART树建立算法

上一节我们知道了使用基尼系数衡量数据的不确定性,CART树建立算法与

C4.5,ID3相似,选择某一特征使得划分后的节点,其基尼系数最小。

上述是针对分类算法,若我们需要构建CART回归树时,如何衡量数据的损失函数?

最常用的方法是使用均方差函数来衡量数据各个切点划分的好坏,公式为:

其中c1为D1样本的平均值,c2为D2样本的平均值,s为特征A的划分切点。

4. CART树剪枝策略

ID3和C4.5算法会造成模型的过拟合,为了防止过拟合,我们需要对CART树进行剪枝,剪枝是在生成CART树后进行的。

我们把CART树的每一个节点当成是一个根节点,基于该根节点的CART树为子树。

子树的正则化损失函数为:

其中为叶节点个数,α为正则化系数,为子树的损失函数,当用于分类任务时,损失函数为Gini系数;用于回归任务时,损失函数为均方差。

若把该子树的所有节点都剪掉,只剩下根节点,则损失函数为:

当α较小时:

逐渐增大α时,使下面等式成立:

根据等式反推正则化系数α,有:

因此我们计算每个子树对应的α,使得剪枝前后的损失函数相等。然后对剪枝后的树进行交叉验证,选择交叉验证率最优时的α,根据已选择的最优正则化系数α进行剪枝。

参考:

https://www.cnblogs.com/pinard/p/6053344.html

欢迎扫码关注:

R语言——决策树模型         决策树(Tree Nodels)是一种创建树状模型的方法,它使用‘基尼不纯度’(Gini Impurity)或信息增益(Information Gain)等标准对节点进行递归分割,以创建树状模型。决策树看起来像是以树状形式排列的一系列的if-else语句,易于理解,执行速度快。并且,它能够很好地表现多个特征之间的相互作用,适用于多种数据类型。(树状模型中,随机森林性能表现卓越) ... 阅读详情

相关推荐

机器学习第五章之决策树模型

机器学习专题系列

wangyutao12345的博客 5187

cart算法_第五章 决策树(第5节 CART算法 第2小节 CART剪枝)

五、CART算法(2) CART剪枝CART剪枝算法从"完全生长"的决策树的底端剪去一些子树,使决策树变小(模型变简单),从而能够对未知数据有更准确的预测。分两步:1.从生产算法产生的整体的树 的最底端开始不断剪枝,直至剪到整个树 的根结点为止,从而形成了一个子树序列 ;2.通过交叉验证法在独立的验证数据集上对子树序列进行测试,从中选出最优子树。我们在这里也分两步来介绍:1.剪枝,形成一个子...

weixin_39920415的博客 686

Python决策树模型的基本原理和参数调优【附代码】

下图所示为一个典型的决策树模型:员工离职预测模型的简单演示。该决策树首先判断员工满意度是否小于5,答案为“是”则认为该员工会离职,答案为“否”则接着判断其收入是否小于10,000元,答案为“是”则认为该员工会离职,答案为“否”则认为该员工不会离职。这里。

weixin_60476982的博客 4925

决策树学习笔记——决策树建树原理之C4.5和C5.0以及CART建树原理(二)

决策树学习笔记——决策树建树原理之C4.5和C5.0(二) 在上一篇决策树学习笔记——决策树建树原理之ID3建树原理(一).已经简单介绍了ID3算法的建树原理,以及附上了Python计算信息增益的代码。 C4.5原理 由ID3算法的原理知,ID3算法的弊端在于更倾向于选择水平数量较多的自变量,因为当自变量水平数量较多时,信息增益就越大,并且输入的自变量必须是分类型变量,而C4.5改变了ID3算法中...

weixin_44835596的博客 1369

【机器学习】九大决策树模型总结

这篇博客深入探讨了九种不同的决策树模型,每种模型都拥有其独特的特点和应用场景。我将带您了解一些经典的模型,让你理解它们的工作原理,并在实践中灵活运用它们。

chunyang的博客 3614

[PPB] 使用决策树模型进行空气质量评价

一. 分析背景 要客观评价一个地区的环境质量状况, 需要综合考虑各种应诉之间以影响因素与环境质量之间错综复杂的关系. 采用传统的方法存在着一定局限性和不合理性. 因此, 从学术研究的角度对环境评价的技术方法及其理论进行探讨, 寻求更全面客观的新理论方法具有重要的现实意义. 本例通过建立决策树模型, 对数据中空气中相关气体的含量值与对应的空气等级进行分析, 实现对...

Vincent_Chu的博客 6761

用通俗易懂的方式讲解:决策树模型及案例(Python 代码)

基本原理是通过对一系列问题进行if/else的推导,最终实现相关决策。决策树模型的一个实例:决策树的概念并不复杂,主要是通过连续的逻辑判断得出最后的结论,其关键在于如何建立这样一棵“树”。

Python数据挖掘 2万+

决策树模型(Decision Tree)

P1P_1P1​:表一种类别的数据占总数居的比例。P01−P1P0​1−P1​:表示除了P1P_1P1​类别以外的其他数据占总数据的比例。

SoyMilk的博客 3495

决策树模型构建+调参Python代码——用决策树模型实现机器学习

决策树模型构建+调参Python代码——用决策树模型实现机器学习。

qq_41698317的博客 3529

机器学习——决策树原理及其实现

决策树(Decision Tree)是一种基于树结构的分类或回归模型,在机器学习领域中被广泛应用。

Ascons的博客 3238

决策树模型案例_机器学习 | 决策树模型(二)实例

上面文章《决策树模型(一)理论》中,已详细介绍了决策树原理,包括决策树生长原理,决策树的特征选择原理,决策树剪枝策略以及决策树处理缺失值原理等等。如果您还没有阅读,可点击跳转,或关注公众号获取文章详情。本文将继决策树理论后,通过实际的案例应用,加深对决策树工作原理的理解。本文直接使用sklearn中决策树模型,sklearn自带的红酒数据集作为数据源。「本文字数8253」sklearn....

weixin_33160876的博客 3076

决策树模型

今天我们来复习决策树模型,并用项目教大家快速了解决策树模型,我会将大家编写代码中常见的错误点在代码注释中指出,希望不会浪费大家的时间,高效学习以上就是今天要讲的内容,本文仅仅简单介绍了决策树模型的推导与实现,还有一些其他的优化决策树模型的方法但本文主旨是便于大家复习模型,就不再赘述以上所有代码在Github仓库。

2403_85773052的博客 1298

sql server 建立决策树模型

sql server 建立决策树模型       在之前的系列中,介绍了如何导入数据源,不论是excel文件还是其它的数据源,都可以作为我们的数据来源来导入,那么,本文就根据之前导入的数据在sql server 建立决策树模型,并且对测试数据进行结果预测,原理部分,请参看其他博文,和前面一样,仍然采用截图的方式来描述过程。        在"BI"里面建立一个决策树项目,在”视图“选项下打开”解决...

WQ的博客 4088

【机器学习】什么是决策树模型?如何去构建决策树?何时使用决策树?何时使用神经网络?

本文从决策树出发,第一部分讲解了什么是决策树模型,了解了一些决策树的基本概念;第二部分提到了如何确定在决策树节点使用什么特征,其中介绍了熵的概念、什么是信息增益,以及如何使用信息增益去构建决策树;第三部分讲到了独热编码,以及在决策树中的应用;第四部分讲了如何使用决策树解决回归问题;第五部分介绍了如何使用多个决策树,其中提到了有放回抽样、随机森林算法、xgboost算法;第六部分重点讲了什么时候去使用决策树,讲决策树与神经网络做了个比较。...

m0_51816252的博客 9222

机器学习之决策树模型篇 ---- 某流行手游胜负预测

决策树模型在MOBA类手游胜负预测任务中表现优异,准确率达72.57%。该模型通过计算熵或基尼系数选择最优分裂特征,模拟人类决策过程,特别适合处理游戏数据中的非线性关系和离散特征。实验表明max_depth=3时效果最佳,过深易导致过拟合。优化建议包括采用向量化计算、信息增益率和动态参数调整。决策树的高解释性和高效推理能力使其成为电竞预测的理想选择,未来可升级为随机森林或XGBoost进一步提升性能。该模型不仅能提供可靠预测,还能揭示经济差等关键制胜因素。

YBAdvanceFu的博客 1524

滑模控制实战:用Python从零实现SMC算法(附完整代码)

本文通过Python实战,从零详解滑模控制(SMC)算法的核心原理与代码实现。文章聚焦于一阶系统,使用NumPy和Matplotlib逐步构建控制器,并针对SMC固有的抖振问题,详细讲解了边界层法的原理与实现,提供了完整的代码和参数调优指南,帮助读者直观理解并掌握这一鲁棒性极强的非线性控制方法。

weixin_29285605的博客 466

决策树模型原理及实践

决策树模型 1、决策树原理及介绍 1.1 决策树介绍 决策树是一种常见的分类模型,在金融分控、医疗辅助诊断等诸多行业具有较为广泛的应用。决策树的核心思想是基于树结构对数据进行划分,这种思想是人类处理问题时的本能方法。例如在婚恋市场中,女方通常会先看男方是否有房产,如果有房产再看是否有车产,如果有车产再看是否有稳定工作……最后得出是否要深入了解的判断。 决策树的主要优点: 具有很好的解释性,模型可以生成可以理解的规则。 可以发现特征的重要程度。 模型的计算复杂度较低。 决策树的主要缺点:

weixin_45319287的博客 1487

不用FFmpeg!纯前端实现RTSP直播的3种现代方案对比(WebSocket/Wasm/WebCodecs)

本文深入探讨了纯前端实现RTSP直播的三种现代技术方案:WebSocket代理转发、Wasm解码和WebCodecs硬解。通过详细的架构设计、性能实测数据和兼容性分析,帮助开发者在安防监控、智慧城市等场景中选择最佳方案,实现低延迟、高效率的视频流处理。

lilh34434的博客 231

机器学习_05 决策树模型

本文主要讲解了决策树模型的基本概念、模型的创建与预测以及模型评估等内容

cc是小陈的博客 1014

《华为项目管理之道》第1章笔记

performance indicator,KPI)纳入个人绩效承诺书,贯彻结果导向的理念,以向员工。客户需求是华为发展的原动力,为客户服务是华为存在的唯一理由。目经理‘用兵’,依靠市场机制‘调兵’”,打破了人员在功能部门的板结,实现了听得。为管理者选拔的必要条件,项目经理成为人人向往的岗位。《华为项目管理之道》,是新出的华为官方的项目管理书,整个书不错。伴随着项目型组织的建立,华为逐步形成了完备的项目管理流程和制度,从而将业务运。为此,通过改革,重新明确了项目经理承担的经营责任,并开始以项。

jackyrongvip的专栏 2128

Diffusion Model原理详解

Diffusion Model(扩散模型 )对标的是生成对抗网络(GAN),本文将用通俗的语言和公式为大家介绍Diffusion Model,并且结合公式为大家梳理Diffusion Model的代码。

weixin_42620109的博客 6100
上一篇: 4行代码再现《黑客帝国》数字雨,在终端实现的那种
下一篇: 决策树原理学习笔记(一)
机器学习算法那些事
博客等级 码龄9年 1633粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值