CART算法

机器学习系列(2)——CART算法 CART(Classification and Regression Tree,分类与回归树)算法 阅读详情

一、Gini公式

Gini(D,A) = \frac{|D_1|}{D}Gini(D_1)+\frac{|D_2|}{D}Gini(D_2)

Gini(D_1) = 1-\sum_{k=1}^{K}(\frac{|C_k|}{|D_1|})^2

其中:

k 是类别数(label)

样本集合 D 根据特征A 是否取某一值 a 被分割成D_1 、D_2

二、举例

假设我们有一个二元分类问题,数据集包含以下四个样本:

id年龄有工作有房子
1青年无无
2中年有有
3中年无无
4老年有有

可以使用CART算法来建立一个决策树模型。

1、首先,我们需要选择一个特征和阈值来对数据集进行划分。

假设我们选择年龄和阈值a = 青年,将数据集划分成两个子集:

  • 子集D_1:{1},对应类别为{0}
  • 子集D_2:{2,3,4},对应类别为{1, 0,1}

对于子集D_1,基尼不纯度为:

Gini(D_1) = 1 - \sum_{k=1}^{K}(\frac{|C_k|}{|D_1|})^2 =1-(\frac{0}{1})^2-(\frac{1}{1})^2=0.5

对于子集D_2,基尼不纯度为:

 Gini(D_2) = 1 - \sum_{k=1}^{K}(\frac{|C_k|}{|D_2|})^2=1 -(\frac{2}{3})^2-(\frac{1}{3})^2=0.44

Gini(D,A=young)=\frac{|D_1|}{D}Gini(D_1)+\frac{|D_2|}{D}Gini(D_2)=\frac{1}{4}Gini(D1)+\frac{3}{4}Gini(D2)=\frac{1}{4}*0+\frac{3}{4}*0.44 = 1.7 

假设我们选择年龄和阈值a = 中年,将数据集划分成两个子集:

  • 子集D_1:{2,3},对应类别为{1,0}
  • 子集D_2:{1,4},对应类别为{0,1}

对于子集D_1,基尼不纯度为:

Gini(D_1) = 1 - \sum_{k=1}^{K}(\frac{|C_k|}{|D_1|})^2 =1-(\frac{1}{2})^2-(\frac{1}{2})^2=0.5

对于子集D_2,基尼不纯度为:

 Gini(D_2) = 1 - \sum_{k=1}^{K}(\frac{|C_k|}{|D_2|})^2=1 -(\frac{1}{2})^2-(\frac{1}{2})^2=0.5

Gini(D,A=mid)=\frac{|D_1|}{D}Gini(D_1)+\frac{|D_2|}{D}Gini(D_2)=\frac{2}{4}Gini(D1)+\frac{2}{4}Gini(D2)=\frac{1}{2}*0.5+\frac{1}{2}*0.5= 0.5

假设我们选择年龄和阈值a = 老年,将数据集划分成两个子集:

  • 子集D_1:{4},对应类别为{1}
  • 子集D_2:{1,2,3},对应类别为{0,1,0}

对于子集D_1,基尼不纯度为:

Gini(D_1) = 1 - \sum_{k=1}^{K}(\frac{|C_k|}{|D_1|})^2 =1-(\frac{1}{1})^2-(\frac{0}{1})^2=0

对于子集D_2,基尼不纯度为:

 Gini(D_2) = 1 - \sum_{k=1}^{K}(\frac{|C_k|}{|D_2|})^2=1 -(\frac{1}{3})^2-(\frac{2}{3})^2=0.44

Gini(D,A=old)=\frac{|D_1|}{D}Gini(D_1)+\frac{|D_2|}{D}Gini(D_2)=\frac{1}{4}Gini(D1)+\frac{3}{4}Gini(D2)=\frac{1}{4}*0+\frac{3}{4}*0.44 = 1.7

Gini(D,A=mid)最小,所以A=mid为A的最优切分点

假设我们选择有工作和阈值a = 有,将数据集划分成两个子集:

  • 子集D_1:{2,4},对应类别为{1,1}
  • 子集D_2:{1,3},对应类别为{0,0}

对于子集D_1,基尼不纯度为:

Gini(D_1) = 1 - \sum_{k=1}^{K}(\frac{|C_k|}{|D_1|})^2 =1-(\frac{2}{2})^2-(\frac{0}{2})^2=0

对于子集D_2,基尼不纯度为:

 Gini(D_2) = 1 - \sum_{k=1}^{K}(\frac{|C_k|}{|D_2|})^2=1 -(\frac{0}{2})^2-(\frac{2}{2})^2=0

Gini(D,B=job)=\frac{|D_1|}{D}Gini(D_1)+\frac{|D_2|}{D}Gini(D_2)=\frac{2}{4}Gini(D1)+\frac{2}{4}Gini(D2)=\frac{1}{2}*0+\frac{1}{2}*0= 0

由于B只有一个切分点,所以B=job为B的最优切分点

2、在A,B两个特征中,Gini(D,B=job)=0 最小,所以选择特征 B 为最优特征。

于是根节点生成两个子节点,有工作和无工作,都是叶节点,结束。

如果不是叶节点,则重复上述过程。

有工作 = 有
├── 年龄 = young
│   |── 类别为 mid
|   └── 类别为 old
└── 无

决策树--CART算法 文章目录1.Crat算法(分类树)1.1基尼系数1.2连续型特征处理1.3CART算法1.5 举例说明1.5 代码2.回归树 1.Crat算法(分类树) 1.1基尼系数 CART是基于基尼(Gini)系数最小化准则来进行特征选择,生成二叉树。 基尼系数代表了模型得不纯度,基尼系数越小,则不纯度越低,特征越好。这点和信息增益是相反的。 在分类问题中,假设有K各类别,第k个类别概率为pkp_{k}pk​,则基尼系数的表达式为: Gini(D)=1−∑k=1Kpk2Gini(D)=1-\sum_{k=1}^{K} 阅读详情

相关推荐

机器学习之决策树CART算法

接上期: 文章目录一、理论知识1.0、特征选择:基尼指数1.1、决策树的生成1.2、CART剪枝二、python实战 一、理论知识 CART算法是给定输入随机变量X条件下输出随机变量Y的条件概率分布的学习方法。CART假设决策树是二叉树,内部节点取值为“是”或“否”。这样的决策树等价于递归地二分每个特征,将特征空间划分为有限个单元,并在这些单元上确定预测的概率分布即输入给定的条件下输出的条件概率分布。 1.0、特征选择:基尼指数 分类树用基尼指数选择最优特征,同时决定该特征的最优二值切分点。 分类问题中假

m0_69435474的博客 1万+

CART 算法——决策树

CART是英文“classification and regression tree”的缩写,翻译过来是分类与回归树,与前面说到的ID3、C4.5一致,都是决策树生成的一种算法,同样也由特征选择、树的生成以及剪枝组成,既可以用于分类也可以用于回归。CART算法由决策树的生成以及决策树剪枝两部分组成。决策树的生成就是递归地构建二叉决策树的过程。对回归树用平方差最小化准则,对分类树用基尼指数最小化准则,进行特征选择,生成二叉树。分类树与回归树的一个区别是:如果目标变量是,如果目标变量是。

laosao_66的博客 6715

决策树之CART算法

在之前介绍过决策树的ID3算法实现,今天主要来介绍决策树的另一种实现,即CART算法。   Contents      1. CART算法的认识    2. CART算法的原理    3. CART算法的实现     1. CART算法的认识      Classification And Regression Tree,即分类回归树算法,简称CART算法,它是决策树的一种实

ACdreamer 8万+

cart算法_数据挖掘十大算法—— CART

十大算法 —— CART1、基本介绍(1)概述:CART算法是一种决策树算法,主要用于分类与回归。CART算法将概率论与统计学的知识引入到决策树的研究中,既可以用于分类,也可以用于回归。不同于C4.5算法,CART算法的本质是对特征空间进行二元划分(CART生成的决策树是一颗二叉树),并能够对标量属性与连续属性进行分裂。CART算法采用地即是递归地对每个特征进行二元切分,然后根据输入的特征值预测输...

weixin_39611389的博客 7794

CART算法的原理以及实现

CART 算法思想 CART树的特点 回归树的生成 最小二乘法回归树生成算法 分类树的生成 基尼指数 分类树生成算法 剪枝处理 CART 分类回归树(classification and regression tree,CART)模型由Breiman等人在1984年提出,是应用广泛的决策树学习方法。CART同样由特征选择、树的生成以及剪枝组成,既可以用于分类也...

gzj_1101的专栏 3万+

决策树之CART算法原理及python实现

机器学习,决策树,CART,python实现

三石 3万+

cart算法_决策树算法之CART算法

一、CART算法概念分类回归树(CART,Classification And Regression Tree)也属于一种决策树。分类回归树是一棵二叉树,且每一个非叶子节点都有两个枝杈,一般而言对于第一棵子树其叶子节点数比非叶子节点数多1。使用基尼系数作为分类标准,离散、连续数据均可,适用于分类树,回归树。二、CART算法原则决策树生长的核心是确定决策树的分枝准则。1怎样从众多的属性变...

weixin_39539761的博客 1895

CART决策树算法的Python实现(注释详细)

一、CART决策树算法简介 CART(Classification And Regression Trees 分类回归树)算法是一种树构建算法,既可以用于分类任务,又可以用于回归。相比于 ID3 和 C4.5 只能用于离散型数据且只能用于分类任务,CART 算法的适用面要广得多,既可用于离散型数据,又可以处理连续型数据,并且分类和回归任务都能处理。 本文仅讨论基本的CART分类决策树构建,不讨论回归树和剪枝等问题。 首先,我们要明确以下几点: 1. CART算法是二分类常用的方法,由CART算法生成的决策树

Polaris的博客 1万+

决策树之CART 算法

我们可以把决策树分为 ID3 算法、C4.5 算法和 CART 算法。今天我来带你学习 CART 算法。CART 算法,英文全称叫做 Classification And Regression Tree,中文叫做分类回归树。ID3 和 C4.5 算法可以生成二叉树或多叉树,而 CART 只支持二叉树。同时 CART 决策树比较特殊,既可以作分类树,又可以作回归树。 什么是分类树,什么是回归树呢?我用下面的训练数据举个例子,你能看到不同职业的人,他们的年龄不同,学习时间也不同。如果我构造了一棵决策树,想要基于

VEGIOS的博客 6206

CART剪枝算法详解

CART剪枝算法 CART剪枝算法从“完全生长“的决策树的底端剪去一些子树,使决策树变小(模型变简单),从而能够对未知数据有更准确的预测。CART剪枝算法由两步组成:首先从生成算法产生的决策树T0底端开始不断剪枝,直到T0的根节点,形成一个子树序列{T0,T1 ,…, Tn};然后通过交叉验证法在独立的验证数据集上对子树序列进行测试,从中选择最优子树。 1. 剪枝,得到子树序列 子树的损失函数: ...

tian_tian_hero的博客 1万+

机器学习笔记21——决策树之CART算法原理及python实现案例

CART算法引言1、概述2、CART算法2.1 CART生成2.1.1 回归树的生成2.1.2 分类树的生成2.2 CART剪枝2.2.1 剪枝,形成一个子树序列2.2.2 在剪枝得到的子树序列T0,T1,T2,T3......TnT_0,T_1,T_2,T_3......T_nT0​,T1​,T2​,T3​......Tn​中通过验证选取最优子树TαT_\alphaTα​ 引言 \quad \quad在决策树、ID3、C4.5算法一文中,简单地介绍了决策树模型,以及决策树生成算法ID3算法和ID3算法的改

weixin_45666566的博客 1万+

CART算法之回归树

本文详细介绍了CART回归算法的原理。

blinkyou001的博客 1332

分类算法 -- 决策数CART算法

决策树常用的有ID3,C4.5和CART算法,在得到决策树之后还要对树进行剪枝。 ID3算法:https://blog.youkuaiyun.com/weixin_43216017/article/details/87474045 C4.5算法:https://blog.youkuaiyun.com/weixin_43216017/article/details/87609780 决策树的剪枝:https://blog....

海军上将光之翼的博客 2988

CART算法简介

摘要: CART(分类与回归树)是一种经典的决策树算法,由Leo Breiman于1984年提出。它通过递归选择最佳特征和分割点构建二叉树,适用于分类(基尼指数/熵)和回归(方差最小化)任务。CART采用二叉树结构,可解释性强,支持混合数据类型,无需数据分布假设。算法通过预剪枝(如节点样本数、深度限制)和后剪枝(代价复杂度剪枝)防止过拟合。优点包括直观性、鲁棒性,但存在不稳定性和局部最优问题。CART是随机森林、梯度提升树等集成方法的基础,广泛应用于可解释AI和特征工程。

分享前端工程化、AI 应用、Agent 开发与大模型实践! 1364

数字IC后端手把手实战教程 | Innovus verify_drc VIA1 DRC Violation解析及脚本自动化修复方案

数字IC后端实战项目案例之Innovus verify_drc DRC Violation脚本自动化修复方案

weixin_37584728的博客 4049

Python使用netmiko配置华为交换机

1.netmiko就是专门为网络设备做的模块,非常强大。1.更适合网络设备的自动化运维模块。2、批量配置变更、备份。1.安装netmiko。2. 创建SSH连接。一、netmiko介绍。

博然的宝藏库 2797

CART 算法详细解释

CART 算法,全称为分类与回归树(Classification and Regression Trees),是一种广泛使用的决策树算法,由 Leo Breiman 等人在 1984 年提出。它可用于解决分类问题(输出离散类别)和回归问题(输出连续值)。CART 通过递归地将数据集分割成更纯的子集来构建树结构,每个分割基于特征和阈值的选择,以最小化不纯度(对于分类)或误差(对于回归)。以下将详细解释 CART 的分类与回归逻辑,并重点包括基尼指数的计算与应用原理。

m0_64132509的博客 1800

ESP32S3学习——i2c,点亮0.96寸oled

ESP32S3学习——i2c,点亮0.96寸oled

HandBAI的博客 1万+

决策树CART算法原理详解

大家好,今天用一个简单的例子来给大家介绍一下决策树中的CART算法。 CART分类树 CART分类树适用于预测结果为离散型数据的情况下,主要是计算每一组特征的Gini系数增益来确定决策树划分的优先规则,主要是采用一种二分方法,当一列特征有K个类别,第k个类别概率为pk时,其计算Gini系数系数的公式为: ...

Sherry沫小阳的博客 9329

Lumerical官方案例、FDTD时域有限差分法仿真学习(十八)——Y分支粒子群算法优化

组件优化是任何致力于开发高性能光子器件的设计过程的关键步骤。 此绝缘体上硅 Y 分支示例演示了适用于任意优化例程的通用组件形状参数化方法。 此示例中的算法是 Lumerical 的内置粒子群优化 (PSO),可通过用户界面轻松设置。 此外,建议的优化过程展示了如何将 varFDTD 与全 3D FDTD 求解器相结合,以显着减少优化时间,同时保持高精度。

weixin_45719141的博客 1万+

【一键搞定】ThinkPHP6.0.2+PHPStudy+Composer极速安装指南——附完整下载包与避坑技巧

本文提供了一份ThinkPHP6.0.2的完整下载包,并详细介绍了如何配合PHPStudy和Composer进行极速安装与配置。指南涵盖了环境准备、Composer国内镜像加速、项目部署及常见避坑技巧,旨在帮助开发者,尤其是内网或网络不佳的用户,快速搭建可运行的TP6开发环境,绕过依赖下载的繁琐步骤。

assembly8low的博客 1008

机器学习实验报告——CART算法

CART(Classification and Regression Trees)算法是由Leo Breiman等人于1984年提出的一种决策树算法。它是目前广泛应用的决策树算法之一,也是机器学习领域的经典算法之一。CART算法的背景可以追溯到决策树算法的发展历程。决策树最早由Ross Quinlan于1983年提出,Quinlan的决策树算法ID3(Iterative Dichotomiser 3)在构建决策树时使用了信息增益作为属性选择的标准。然而,ID3算法只能处理离散型特征。

m0_64198455的博客 2241

光猫改桥接后,一根网线搞定IPTV和上网的保姆级教程(附VLAN配置避坑点)

本文详细介绍了光猫改桥接后如何通过单线复用技术实现IPTV和上网功能共存。从VLAN配置原理到具体操作步骤,包括光猫超级管理员权限获取、VLAN绑定设置及路由器IPTV功能配置,提供了全面的保姆级教程。特别针对常见问题如IPTV信号丢失、网速下降等给出了实用解决方案,帮助用户轻松避坑。

weixin_29927965的博客 1765
上一篇: C4.5算法
下一篇: augment增强
SmartDemo
博客等级 码龄9年 176粉丝 132原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值