CART决策树-基尼指数(全网最详解)

news2025/2/25 18:21:47

文章目录

  • 一、基尼指数的定义
  • 二、基尼指数在CART决策树中的应用
  • 三、基尼指数与CART决策树的构建
    • 1.计算每个子集的基尼系数:
    • 2.计算基尼指数
    • 3.选择最优特征
    • 4.其余基尼指数
    • 5.构建决策树
  • 四、总结

CART决策树基尼指数是CART(Classification And Regression Tree)算法中用于分类任务的一种评估指标,主要用于衡量数据集的不纯度或不确定性。以下是关于CART决策树基尼指数的详细解释:

一、基尼指数的定义

基尼指数(Gini Index)表示从数据集中随机抽取两个样本,它们类别标记不一致的概率。对于一个包含K个类别的数据集D,其基尼指数的计算公式为:

G i n i 系数 ( D ) = ∑ k = 1 K p k ( 1 − p k ) = 1 − ∑ k = 1 K p k 2 Gini系数(D)= \sum_{k=1}^{K} p_k(1-p_k)=1-\sum_{k=1}^{K} p^{2}_k Gini系数(D)=k=1Kpk(1pk)=1k=1Kpk2
G i n i 指数 ( D , A ) = ∣ D 1 ∣ ∣ D ∣ G i n i 系数 ( D 1 ) + ∣ D 2 ∣ ∣ D ∣ G i n i 系数 ( D 2 ) Gini指数(D,A)=\frac{|D_1|}{|D|}Gini系数(D_1)+\frac{|D_2|}{|D|}Gini系数(D_2) Gini指数(D,A)=DD1Gini系数(D1)+DD2Gini系数(D2)

其中, p k p_k pk表示类别k在数据集D中的比例。基尼指数的取值范围在[0, 1]之间,值越小表示数据集的纯度越高,即属于同一类别的样本占比越大。

二、基尼指数在CART决策树中的应用

在构建CART分类树时,算法会根据基尼指数来选择最优的特征进行数据集的分割。具体步骤如下:

  • 计算基尼指数:对于每个特征,算法会尝试所有可能的切分点,并计算切分后左右子集的基尼指数。
  • 选择最佳切分:选择使得划分后基尼指数加权和最小的那个特征和切分点作为最优划分。加权和是根据子集大小(样本数量)来计算的。
  • 递归构建树:以选定的特征和阈值进行数据集的分割,然后对每个子集重复上述过程,直至满足停止条件(如节点中的样本都属于同一类别、达到预设的最大深度、节点中的样本数低于某个阈值等)。

三、基尼指数与CART决策树的构建

CART决策树的构建过程是一个递归的过程,通过不断选择最优特征和切分点来分割数据集,直到满足停止条件。基尼指数在这个过程中起到了关键作用,它帮助算法选择出能够最大程度降低数据集不纯度的特征和切分点。下面我们举例说明。
例:
在这里插入图片描述

1.计算每个子集的基尼系数:

首先计算各特征的基尼指数,选择最优特征以及其最优切分点。分别以 A 1 A_1 A1 A 2 A_2 A2 A 3 A_3 A3 A 4 A_4 A4表示年龄、有工作、有自己的房子和信贷情况4个特征,并以1,2,3表示年龄的值为青年、中年和老年,以1,2表示有工作和有自己的房子的值为是和否,以1,2,3表示信贷情况的值为非常好、好和一般.
对于子集 A 1 A_1 A1,我们计算其基尼指数Gini( A 1 A_1 A1),这涉及到计算 A 1 A_1 A1中每个类别的比例,并代入基尼指数公式。
同理,对于子集 A 2 A_2 A2 A 3 A_3 A3 A 4 A_4 A4,我们计算Gini( A 2 A_2 A2 A 3 A_3 A3 A 4 A_4 A4)。
特征 A 1 A_1 A1(年龄)的基尼系数:
首先我们代入公式:
G i n i ( D ) = ∑ k = 1 K p k ( 1 − p k ) = 1 − ∑ k = 1 K p k 2 Gini(D)= \sum_{k=1}^{K} p_k(1-p_k)=1-\sum_{k=1}^{K} p^{2}_k Gini(D)=k=1Kpk(1pk)=1k=1Kpk2
G i n i 指数 ( D , A ) = ∣ D 1 ∣ ∣ D ∣ G i n i 系数 ( D 1 ) + ∣ D 2 ∣ ∣ D ∣ G i n i 系数 ( D 2 ) Gini指数(D,A)=\frac{|D_1|}{|D|}Gini系数(D_1)+\frac{|D_2|}{|D|}Gini系数(D_2) Gini指数(D,A)=DD1Gini系数(D1)+DD2Gini系数(D2)
青年(5人,2人贷款)的基尼系数:
G i n i 系数 ( D 1 ) = 2 5 ∗ ( 1 − 2 5 ) + 3 5 ∗ ( 1 − 3 5 ) = 0.48 Gini系数(D_1)=\frac{2}{5}*(1-\frac{2}{5})+\frac{3}{5}*(1-\frac{3}{5})=0.48 Gini系数(D1)=52(152)+53(153)=0.48
G i n i 系数 ( D 1 ) = 2 ∗ 2 5 ∗ ( 1 − 2 5 ) = 0.48 Gini系数(D_1)=2*\frac{2}{5}*(1-\frac{2}{5})=0.48 Gini系数(D1)=252(152)=0.48
如果是类别是二分类,则基尼系数:
p ( 1 − p ) + ( 1 − p ) p = 2 p ( 1 − p ) p(1-p)+(1-p)p=2p(1-p) p(1p)+(1p)p=2p(1p)
非青年(10人,7人贷款)的基尼系数:
G i n i 系数 ( D 2 ) = 2 ∗ 7 10 ∗ ( 1 − 7 10 ) = 0.42 Gini系数(D_2)=2*\frac{7}{10}*(1-\frac{7}{10})=0.42 Gini系数(D2)=2107(1107)=0.42

2.计算基尼指数

A 1 = 1 A_1=1 A1=1(青年)条件下,D的基尼指数:
G i n i 指数 ( D , A 1 = 1 ) = 5 15 ∗ 0.48 + 10 15 ∗ 0.42 = 0.44 Gini指数(D,A_1=1)=\frac{5}{15}*0.48+\frac{10}{15}*0.42=0.44 Gini指数(D,A1=1)=1550.48+15100.42=0.44
总公式为:
G i n i 指数 ( D , A 1 = 1 ) = 5 15 ∗ [ 2 ∗ 2 5 ∗ ( 1 − 2 5 ) ] + 10 15 ∗ [ 2 ∗ 7 10 ∗ ( 1 − 7 10 ] = 0.44 Gini指数(D,A_1=1)=\frac{5}{15}*[2*\frac{2}{5}*(1-\frac{2}{5})]+\frac{10}{15}*[2*\frac{7}{10}*(1-\frac{7}{10}]=0.44 Gini指数(D,A1=1)=155[252(152)]+1510[2107(1107]=0.44
A 1 = 2 A_1=2 A1=2(中年)条件下,D的基尼指数:
G i n i 指数 ( D , A 1 = 2 ) = 5 15 ∗ [ 2 ∗ 3 5 ∗ ( 1 − 3 5 ) ] + 10 15 ∗ [ 2 ∗ 6 10 ∗ ( 1 − 6 10 ] = 0.48 Gini指数(D,A_1=2)=\frac{5}{15}*[2*\frac{3}{5}*(1-\frac{3}{5})]+\frac{10}{15}*[2*\frac{6}{10}*(1-\frac{6}{10}]=0.48 Gini指数(D,A1=2)=155[253(153)]+1510[2106(1106]=0.48
A 1 = 3 A_1=3 A1=3条件下,D的基尼:
G i n i 指数 ( D , A 1 = 3 ) = 5 15 ∗ [ 2 ∗ 4 5 ∗ ( 1 − 4 5 ) ] + 10 15 ∗ [ 2 ∗ 5 10 ∗ ( 1 − 5 10 ] = 0.44 Gini指数(D,A_1=3)=\frac{5}{15}*[2*\frac{4}{5}*(1-\frac{4}{5})]+\frac{10}{15}*[2*\frac{5}{10}*(1-\frac{5}{10}]=0.44 Gini指数(D,A1=3)=155[254(154)]+1510[2105(1105]=0.44

3.选择最优特征

由于 G i n i 指数 ( D , A 1 = 1 ) Gini指数(D,A_1=1) Gini指数(D,A1=1) G i n i 指数 ( D , A 1 = 3 ) Gini指数(D,A_1=3) Gini指数(D,A1=3)相等,且最小,所以 A 1 = 1 A_1=1 A1=1 A 1 = 3 A_1=3 A1=3都可以选作 A 1 A_1 A1的最优切点。

4.其余基尼指数

同理:
求特征 A 2 A_2 A2 A 3 A_3 A3的基尼指数:
G i n i ( D , A 2 = 1 ) = 0.32 Gini(D, A_2=1)=0.32 Gini(D,A2=1)=0.32
G i n i ( D , A 3 = 1 ) = 0.27 Gini(D,A_3=1)=0.27 Gini(D,A3=1)=0.27
由于 A 2 A_2 A2 A 3 A_3 A3只有一个切分点,所以它们就是最优切分点。
求特征 A 4 A_4 A4的基尼指数:
G i n i ( D , A 4 = 1 ) = 0.36 Gini(D,A_4=1)=0.36 Gini(D,A4=1)=0.36
G i n i ( D , A 4 = 2 ) = 0.47 Gini(D,A_4=2)=0.47 Gini(D,A4=2)=0.47
G i n i ( D , A 4 = 3 ) = 0.32 Gini(D, A_4=3)=0.32 Gini(D,A4=3)=0.32
G i n i ( D , A 4 = 3 ) Gini(D,A_4=3) Gini(DA4=3)最小,所以 A 4 = 3 A_4=3 A4=3为A的最优切分点。

5.构建决策树

A 1 A_1 A1 A 2 A_2 A2 A 3 A_3 A3 A 4 A_4 A4几个特征中, G i n i ( D , A 3 = 1 ) = 0.27 Gini(D,A_3=1)=0.27 Gini(DA3=1)=0.27最小,所以选择特征 A 3 A_3 A3为最优特征, A 3 = 1 A_3=1 A3=1为其最优切分点,于是根结点生成两个子结点,一个是叶结点.对另一个结点继续使用以上方法在 A 1 A_1 A1 A 2 A_2 A2 A 4 A_4 A4中选择最优特征及其最优切分点,结果是 A 2 = 1 A_2=1 A2=1依此计算得知,所得结点都是叶结点.

四、总结

基尼指数是CART决策树中用于分类任务的重要评估指标,它通过衡量数据集的不纯度来帮助算法选择最优的特征和切分点进行数据集的分割。在构建CART分类树时,基尼指数起到了关键作用,确保了决策树的准确性和泛化能力。

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

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

相关文章

稳石机器人 | 工业级AMR S1200L,专为多样化需求设计,柔性拓展更易用

近日,稳石机器人重磅推出基于新品控制器ROC1000的全新移动机器人AMR S1200L,专为满足生产制造和仓储物流的多样化需求而设计,无需改造现场,最快可在1周内完成部署。 重载型AMR-S1200L设计注重实用性和灵活性,可在室内…

Excel 中找出每列第一个和最后一个非空格对应的行--Excel难题#87

Excel表格的第2-6列有空格。 ABCDEF1StartDateQID1QID2QID3QID4QID5210/03/2024 10:561yes32310/03/2024 03:102no423409/03/2024 19:253yes22509/03/2024 11:404no1yes609/03/2024 03:555yes5no708/03/2024 20:106808/03/2024 12:257no908/03/2024 04:408yes1007/03/2024 20:…

Linux云计算 |【第二阶段】SECURITY-DAY4

主要内容: Kali系统、扫描与抓包、Nginx安全加固、Linux基本防护 补充:使用Curl命令查看网页头部信息和页面内容 不加选项,默认查看网页的内容; [ -I ] 选项:访问服务器页面时,显示HTTP的头部信息&#xf…

用阿里云“无影”搭建《黑神话:悟空》电脑环境

目录 《黑神话:悟空》 阿里云无影试用版概述 阿里云无影云电脑试用版情况 具体详细过程(搭建环境) 《黑神话:悟空》 《黑神话:悟空》作为一款高品质的国产游戏,对硬件配置有一定的要求。根据公开发布的…

【鸿蒙学习】HarmonyOS应用开发者高级认证 - 应用性能优化一(界面层面)

学完时间:2024年8月22日 学完排名:第1801名 一、介绍 在开发HarmonyOS应用时,优化应用性能是至关重要的。通过/ArkTS高性能编程、减少丢帧卡顿、提升应用启动和响应速度 可以有效提升用户体验。本文将介绍一些优化HarmonyOS应用性能的方法。 一、Ark…

Go开发桌面客户端软件小试:网站Sitemap生成

在前一篇【手把手教你用Go开发客户端软件(使用Go HTML)】中,我们详细介绍了如何通过Go语言开发一个简单的桌面客户端软件。本次,我们将继续这个系列,使用Go语言结合Sciter的Go绑定库——go-sciter,实战开发…

14.C基础_结构体

定义与使用 1、定义 定义结构体: 定义结构体时,需要注意最后的分号必须加上。 定义结构体时,成员只去声明类型,不进行赋值。赋值在定义结构体变量时进行。 struct 结构体名{结构体成员列表 }; //注意这里的分…

Qt入门学什么?

Qt是一个跨平台的C图形用户界面应用程序框架,它为应用程序开发者提供建立图形界面所需的所有功能。Qt框架以其面向对象、易于扩展的特性而受到广泛欢迎,并且支持多种平台,包括桌面、嵌入式和移动平台 。 对于Qt的入门学习,可以通过…

uniapp+vue3的defineProps传递

//index.vue <view class"topic"><!-- 磨砂背景 --><view class"content"><matte v-for"(item,index) in 8" :key"index"></matte><matte isMore"false"></matte></view>&…

0成本学习Liunx系统【只需要一台笔记本电脑,无需购买云服务器】

【准备工作&#xff0c;需要软件】&#xff1a; 1&#xff1a;MobaXterm 【服务器连接工具&#xff08;免费开源&#xff09;】 2&#xff1a;CentOS-7-x86_64-DVD-2009.iso 【CentOS-7 镜像】 3&#xff1a;VirtualBox-7.0.20-163906-Win.exe 【虚拟机壳子】 4&…

朴素贝叶斯与决策树分类

朴素贝叶斯分类 1贝叶斯分类理论 选择高概率对应的类别 2条件概率 事件B发生的情况下&#xff0c;事件A发生的概率 &#x1d443;(&#x1d434;|&#x1d435;)&#x1d443;(&#x1d434;∩&#x1d435;)/&#x1d443;(&#x1d435;) > &#x1d443;(&#x1d43…

【前端面试】浏览器原理解读

前端进阶——浏览器篇-CSDN博客 浏览器工作原理与Javascript高级&#xff08;前后端异步&#xff09;-CSDN博客 DOM树的建立过程 前端DOM&#xff08;文档对象模型&#xff09;数的建立过程&#xff0c;实际上是浏览器解析HTML文档并构建DOM树的过程。这一过程大致可以分为以…

声音克隆GPT-SoVITS 2.0软件和详细的使用教程!

天命人&#xff0c;请允许我先蹭个热点&#xff01; 原始声音&#xff1a; 播放 克隆声音&#xff1a; 播放 文章写了一半&#xff0c;被《黑神话悟空》刷屏了。突发奇想&#xff0c;用里面的声音来做个素材试试看。 B站捞了一点声音素材&#xff0c;随便剪一剪&#xff0c…

IOS半越狱工具nathanlr越狱教程

简介 nathanlr 是一款半越狱工具&#xff0c;不是完整越狱。 半越狱只能使用一些系统范围的插件。 无法做到完整越狱 Dopamine 越狱一样插件兼容性。 nathanlr支持 iOS 16.5.1 – 16.6.1 系统。 支持 A12 及以上设备。 肯定有人问&#xff0c;为什么仅仅支持这些系统&#xff…

关于全球影像下载你需要知道这些参数

经常会有客户问我们&#xff0c;如果想要下载全球的影像应该怎么下载&#xff0c;这里我们用数字说话&#xff0c;为你介绍一下全球影像下载的那些关键参数。 TIF文件大小 在开始之前说明一下&#xff0c;以下表格中所有出现的级别均为标准级别&#xff0c;如果想对应水经微图…

Qt系列之数据库(一)

Qt 数据库开发是指在Qt框架下进行数据库操作的开发工作。Qt提供了一套强大的数据库模块&#xff0c;可以方便地与多种数据库进行交互&#xff0c;如SQLite、MySQL、PostgreSQL等。 该模块中接口是使用C语言&#xff0c;也就是说&#xff0c;学习相关的类及类的接口使用。 qt…

我的Markdown简历模板开源了!

我之前写过一篇文章&#xff0c;很详细的讲解了如何使用Markdown写出一份漂亮的简历&#xff0c;并且在各个博客平台都有发布。 为了方便&#xff0c;我在这贴一下这篇文章的链接&#xff1a;✨Markdown制作简历教程 如果你还没有读过&#xff0c;或者恰好需要做一份新的简历…

【Kubernetes】K8s中Container(容器)、Pod(小组)和node(节点)概念讲解

Kubernetes学习之路 第一章 Kubernetes学习入门之Container(容器)、Pod(小组)和node(节点)概念 文章目录 Kubernetes学习之路前言一、Container&#xff08;容器&#xff09;二、Pod&#xff08;小组&#xff09;1.单容器 Pod2.多容器 Pod 三、Container&#xff08;容器&…

132-横向移动-Exchange 服务有账户 CVE 漏洞无账户口令爆破

Exchange服务 Microsoft Exchange Server 是微软公司推出的一款企业级邮件服务器软件&#xff0c;它提供了一套全面的电子邮件服务组件&#xff0c;以及消息和协作系统。Exchange Server 不仅支持电子邮件服务&#xff0c;还提供了日历、联系人管理、任务管理、文档管理、实时会…

机器学习 之 决策树与随机森林的实现

引言 随着互联网技术的发展&#xff0c;垃圾邮件过滤已成为一项重要的任务。机器学习技术&#xff0c;尤其是决策树和随机森林&#xff0c;在解决这类问题时表现出色。本文将介绍随机森林的基本概念&#xff0c;并通过一个具体的案例——筛选垃圾电子邮件——来展示随机森林的…