决策树和CART决策树

2024-03-08 13:18
文章标签 决策树 cart

本文主要是介绍决策树和CART决策树,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

首先简单介绍下决策树:
说到决策树肯定离不开信息熵
什么是信息熵(不要被这名字唬住,其实很简单)?
一个不太可能的时间居然发生了,要比一个非常可能的时间发生提供更多的信息。消息说:“今天早上太阳升起”。信息量是很少的,以至于没有必要发送。但另一条消息说:“今天早上日食”。信息量就很丰富。
概率越大信息量就越少,与概率成反比 1p
I(x)=logP(x)1=logP(x)
至于为什么取log可以看数学之美中的介绍(还有TFIDF)我建议不要过多纠结,记住就好。
上面是一个我们定义一个事件X=x的自信息。
我们求的信息熵,就是所以 xi 自信息的一个均值。
H(X)=E[I(x)]=i=ni=1pi[log(pi)]X[x1,x2....]
H(X)是一个样本集,pi 是每一类的自信息。

ID3和C4.5
一个叫信息增益,一个叫信息增益比。
特征A信息增益:就是我样本集D的信息熵减去,我用样本的一个特征A去划分样本形成的新样本集D1,D2….每个新小样本集同样计算信息熵。相减得到A的信息增益。
这里写图片描述
同样我们还可以得到特征B,C。。选取最小的作为节点,形成ID3决策树。

信息增益比无非除以一个特征A值的熵(用特征A去划分类(青年,中年,老年就是三类, pi:p=N/N ),和前面一样算信息熵 )
:gr=g(D,A)HA(D),HA(D)=ni=1DiDlog2DiD,Di=D,D,DD=
选取最小的作为节点,形成C4.5决策树。

CART决策树:
这个才是重点,随机森林一般就是这个树构建,这是一种二叉树。它分为分类树和回归树。

分类树:用基尼指数,这个更加简单了直接看公式:
Gini(P)=1iP2i,Pi=DiD,i
同样我们要算出每个特征对应的Gini系数,跟A的特征熵类似,用A和A对应的值去划分数据集,(D1,D2…..)计算每个Di的Gini系数,Di的Gini系数计算和D的一抹一样,只是规模变成了D1,也可能有i个类,找到最优特征和最优切分点(对应A和A的值)。
这里写图片描述

这篇关于决策树和CART决策树的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/787196

相关文章

决策树的实现原理与matlab代码

很久不写博客了,感觉很长一段时间只是一味的看书,疏不知一味地看书、写代码会导致自己的思考以及总结能力变得衰弱。所以,我决定还是继续写博客。废话不多说了,今天想主要记录数据挖掘中的决策树。希望能够将自己的理解写得通俗易懂。 决策树是一种对实例分类的树形结构,树中包含叶子节点与内部节点。内部节点主要是数据中的某一特性,叶子节点是根据数据分析后的最后结果。 先看一组数据: 这组数据的特性包含

机器学习(西瓜书)第 4 章决策树

4.1 决策树基本流程 决策树模型 基本流程 在第⑵种情形下,我们把当前结点标记为叶结点,并将其类别设定为该结点所含样本最多的类别;在第⑶种情形下,同样把当前结点标记为叶结点,但将其类别设定为其父结点所含样本最多的类别.注意这两种情形的处理实质不同:情形⑵是在利用当前结点的后验分布,而情形⑶则是把父结点的样本分布作为当前结点的先验分布. 基本算法 由算法4 .2可看出,决策树学习

【机器学习-监督学习】决策树

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈Python机器学习 ⌋ ⌋ ⌋ 机器学习是一门人工智能的分支学科,通过算法和模型让计算机从数据中学习,进行模型训练和优化,做出预测、分类和决策支持。Python成为机器学习的首选语言,依赖于强大的开源库如Scikit-learn、TensorFlow和PyTorch。本专栏介绍机器学习的相关算法以及基于Python的算法实现。

Spark2.x 入门:决策树分类器

一、方法简介 ​ 决策树(decision tree)是一种基本的分类与回归方法,这里主要介绍用于分类的决策树。决策树模式呈树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。学习时利用训练数据,根据损失函数最小化的原则建立决策树模型;预测时,对新的数据,利用决策树模型进行分类。 决策树学习通常包括3个步骤:特征选择、决策树的生成和决策树的剪枝。

第L5周:机器学习:决策树(分类模型)

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 目标: 1. 决策树算法是一种在机器学习和数据挖掘领域广泛应用的强大工具,它模拟人类决策过程,通过对数据集进行逐步的分析和判定,最终生成一颗树状结构,每个节点代表一个决策或一个特征。决策树的核心思想是通过一系列问题将数据集划分成不同的类别或值,从而实现对未知数据的预测和分类。这一算法的开发灵感源自人类在解决问题

机器学习项目——基于机器学习(决策树 随机森林 朴素贝叶斯 SVM KNN XGBoost)的帕金森脑电特征识别研究(代码/报告材料)

完整的论文代码见文章末尾 以下为核心内容和部分结果 问题背景 帕金森病(Parkinson’s Disease, PD)是一种常见的神经退行性疾病,其主要特征是中枢神经系统的多巴胺能神经元逐渐丧失,导致患者出现运动障碍、震颤、僵硬等症状。然而,除运动症状外,帕金森病患者还常常伴有一系列非运动症状,其中睡眠障碍是最为显著的非运动症状之一。 脑电图(Electroencephalogram, E

分类预测|基于蜣螂优化极限梯度提升决策树的数据分类预测Matlab程序DBO-Xgboost 多特征输入单输出 含基础模型

分类预测|基于蜣螂优化极限梯度提升决策树的数据分类预测Matlab程序DBO-Xgboost 多特征输入单输出 含基础模型 文章目录 一、基本原理1. 数据准备2. XGBoost模型建立3. DBO优化XGBoost参数4. 模型训练5. 模型评估6. 结果分析与应用原理总结 二、实验结果三、核心代码四、代码获取五、总结 分类预测|基于蜣螂优化极限梯度提升决策树的数据分类

《西瓜书》第四章 决策树 笔记

文章目录 4.1 基本流程4.1.1 组成4.1.2 目的4.1.3 策略4.1.4 算法 4.2 划分选择4.2.1信息增益-ID3决策树4.2.1.1 信息熵4.2.1.1 信息增益 4.2.2 增益率-C4.5决策树4.2.3 基尼指数-CART决策树4.2.3.1 基尼值4.2.3.2 基尼指数 4.3 剪枝处理4.3.1 预剪枝4.3.2 后剪枝 4.4 连续与缺失值4.4.1

基于SSM的“基于决策树算法的大学生就业预测系统”的设计与实现(源码+数据库+文档)

基于SSM的“基于决策树算法的大学生就业预测系统”的设计与实现(源码+数据库+文档) 开发语言:Java 数据库:MySQL 技术:SSM 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统用户用例图 学校基础信息管理 毕业生基础数据 招聘信息 数据可视化展现 历年对比预测 用户管理 个人中心 日志管理 摘要 计算机

CART算法原理及Python实践

一、CART算法原理 CART(Classification And Regression Trees)算法是一种用于分类和回归任务的决策树学习技术。它采用贪心策略递归地划分数据集,以构建一棵二叉决策树。CART算法的原理可以概括为以下几个关键步骤: 1. 特征选择与数据划分 特征选择:CART算法在每次划分时,会选择最优的特征及其对应的划分点(对于连续特征)或划分值(对于离散特征)。对