统计学习算法——决策树

news2025/1/17 9:58:21

内容来自B站Up主:风中摇曳的小萝卜https://www.bilibili.com/video/BV1ar4y137GD,仅为个人学习所用。

问题引入

有15位客户向某银行申请贷款,下面是他们的一些基本信息,类别列表示是否通过贷款申请,是表示通过贷款申请,否表示未通过贷款申请。
在这里插入图片描述

某银行想,这样做工作量太大,有没有方法能够快速判断一个用户的贷款申请通过不通过呢?

决策树

以工作为标准进行划分,发现有工作的全部被批准,而没有工作的只有4位被批准,得出结论:有工作的被批准,这显然和样本结果不符合。
在这里插入图片描述
若使用两个标准,首先考虑工作因素划分,然后将分类不当的继续按照信誉划分,如下图
在这里插入图片描述
得出结论:客户有工作可以直接批准;若没有工作,继续查看其信誉。若信誉非常好,可以批准,否则拒绝。这就是构建了一个决策树。

虽然按照决策树进行判断很方便,但是如何确定按什么标准进行划分呢?

基尼系数

基尼系数是一种衡量数据集纯度的指标。基尼系数越小,表明该节点包含的样本越可能属于同一类别,纯度越高;基尼系数越大,表明样本的类别越混杂,纯度越低。

计算公式为: G i n i ( D ) = 1 − ∑ k = 1 K p k 2 Gini(D)=1-\sum_{k = 1}^{K}p_k^2 Gini(D)=1k=1Kpk2
用1减去所有事件概率的平方。本例中,代入公式有 1 − p ( 批准 ) 2 − p ( 不批准 ) 2 1-p(批准)^2-p(不批准)^2 1p(批准)2p(不批准)2
在这里插入图片描述

  • 当批准的概率,被批准的概率分别为1和0时,基尼系数为0;
  • 当批准的概率,被批准的概率分别为0和1时,基尼系数为0;
  • 当批准的概率,被批准的概率分别为0.5和0.5时,基尼系数为0.5。

在这里插入图片描述
由此图可以看出,当一定被批准或拒绝时,基尼系数为0;当批准或拒绝不确定,概率为0.5时候,基尼基数达到最大。一般选择基数小的作为决策树下一级分类的标准。

对于本例,不考虑任何标准,只看最后的结果。15份申请中有9份通过,6份未通过。计算基尼系数
在这里插入图片描述
根据上图,这是个很大的值,说明数据类似于随机生成。

考虑有工作的客户,5位客户有工作,5人通过,0人未通过,计算基尼系数
在这里插入图片描述
考虑没有工作的客户,10位无工作,4位通过,6人未通过,计算基尼系数
在这里插入图片描述
计算以工作为标准的基尼系数,进行加权平均计算
在这里插入图片描述
同理,计算其他标准的基尼系数
在这里插入图片描述
发现,以房子为标准,基尼系数最小,按照此标准来构建决策树。
在这里插入图片描述
左侧被分类很好,继续分类右边。

接下来按照无房子继续计算概率。无房子的客户有9位,其中被批准的3位,未通过的6位,计算基尼系数
在这里插入图片描述
无房子且有工作的3位,通过批准的3位,未通过批准的0位;无工作的6位,通过批准的0位,未通过批准的6位。计算工作的基尼系数
G i n i ( 工作,是 ) = 1 − ( 3 3 ) 2 − 0 = 0 Gini(工作,是)=1-(\frac{3}{3})^2-0=0 Gini(工作,是)=1(33)20=0
G i n i ( 工作,否 ) = 1 − ( 6 6 ) 2 − 0 = 0 Gini(工作,否)=1-(\frac{6}{6})^2-0=0 Gini(工作,否)=1(66)20=0
G i n i ( 工作 ) = 3 9 ∗ 0 + 6 9 ∗ 0 = 0 Gini(工作)=\frac{3}{9}*0+\frac{6}{9}*0=0 Gini(工作)=930+960=0

无房子,信誉非常好的1位,通过批准的1位,未通过批准的0位;信誉好的4位,通过批准的2位,未通过批准的2位;信誉一般的4位,通过批准的0位,未通过批准的4位。计算基尼系数

G i n i ( 信誉,非常好 ) = 1 − ( 1 1 ) 2 − 0 = 0 Gini(信誉,非常好)=1-(\frac{1}{1})^2-0=0 Gini(信誉,非常好)=1(11)20=0
G i n i ( 信誉,好 ) = 1 − ( 2 4 ) 2 − ( 2 4 ) 2 = 0.5 Gini(信誉,好)=1-(\frac{2}{4})^2-(\frac{2}{4})^2=0.5 Gini(信誉,好)=1(42)2(42)2=0.5
G i n i ( 信誉,一般 ) = 1 − ( 4 4 ) 2 − 0 = 0 Gini(信誉,一般)=1-(\frac{4}{4})^2-0=0 Gini(信誉,一般)=1(44)20=0
G i n i ( 信誉 ) = 1 9 ∗ 0 + 4 9 ∗ 1 2 + 4 9 ∗ 0 = 0.22 Gini(信誉)=\frac{1}{9}*0+\frac{4}{9}*\frac{1}{2}+\frac{4}{9}*0=0.22 Gini(信誉)=910+9421+940=0.22

通过上述计算可知,应该选择是否有工作作为下一级的分类标准。
在这里插入图片描述
这是由基尼系数得出的决策树,称为CART决策树。

生成的决策树一般是二叉树。

决策树的生成容易造成过拟合问题,需要进行剪枝。

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

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

相关文章

疫苗预约小程序ssm+论文源码调试讲解

第4章 系统设计 一个成功设计的系统在内容上必定是丰富的,在系统外观或系统功能上必定是对用户友好的。所以为了提升系统的价值,吸引更多的访问者访问系统,以及让来访用户可以花费更多时间停留在系统上,则表明该系统设计得比较专…

物联网网关Web服务器--lighttpd服务器部署与应用测试

以下是在国产ARM处理器E2000飞腾派开发板上部署 lighttpd 并进行 CGI 应用开发的步骤: 1、lighttpd简介 Lighttpd 是一款轻量级的开源 Web 服务器软件,具有以下特点和功能: 特点 轻量级:Lighttpd 在设计上注重轻量级和高效性&a…

Linux的常用命令(三)

目录 六、网络通信命令 1.网络通信命令ping 2.网络通信命令ifconfig 七、系统命令 1. 系统命令shutdown 2. 系统命令reboot 八、vi编辑器 六、网络通信命令 1.网络通信命令ping 命令名称:ping 命令所在路径:/usr/sbin/ping 执行权限&#xff…

CryptoMamba:利用状态空间模型实现精确的比特币价格预测

“CryptoMamba: Leveraging State Space Models for Accurate Bitcoin Price Prediction” 论文地址:https://arxiv.org/pdf/2501.01010 Github地址:https://github.com/MShahabSepehri/CryptoMamba 摘要 预测比特币价格由于市场的高波动性和复杂的非线…

【图表示例】元素-边-01

G6A Graph Visualization Framework in JavaScripthttps://g6.antv.antgroup.com/zh/examples/element/edge/#line 项目的创建参考 G6 详细教程,注意,node版本需要:required: { node: >18 }G6A Graph Visualization Framework in JavaScri…

永磁同步电机参数辨识算法--变增益MRAS方法在线辨识转动惯量

一、原理介绍 现有的转动惯量辨识方案可归纳为两类:离线转动惯量辨识方案和在线转动惯量辨识方案。离线转动惯量辨识方案是在系统控制程序运行前通过直接测试法、加减速法和人工轨迹法等对惯量进行辨识,将测得的参数提供给控制程序使用。离线式辨识方法需要对大量的…

《研发管理 APQP 软件系统》——汽车电子行业的应用收益分析

全星研发管理 APQP 软件系统在汽车电子行业的应用收益分析 在汽车电子行业,技术革新迅猛,市场竞争激烈。《全星研发管理 APQP 软件系统》的应用,为企业带来了革命性的变化,诸多收益使其成为行业发展的关键驱动力。 《全星研发管理…

1月13日学习

[HITCON 2017]SSRFme 直接给了源代码&#xff0c;题目名称还是ssrf&#xff0c;那么该题大概率就是SSRF的漏洞&#xff0c;进行代码审计。 <?php// 检查是否存在 HTTP_X_FORWARDED_FOR 头&#xff0c;如果存在&#xff0c;则将其拆分为数组&#xff0c;并将第一个 IP 地址…

No.32 笔记 | 业务逻辑漏洞全解析:概念、成因与挖掘思路

业务逻辑漏洞全解析&#xff1a;概念、成因与挖掘思路 核心速览 本文将围绕 业务逻辑漏洞 展开详细探讨&#xff0c;包括 成因、常见类型、重要性 及 具体挖掘方法。业务逻辑漏洞是一种与系统核心功能逻辑深度绑定的漏洞&#xff0c;需结合 代码审计 和 手动测试 进行发现和分…

EF Core实体跟踪

快照更改跟踪 实体类没有实现属性值改变的通知机制&#xff0c;EF Core是如何检测到变化的呢&#xff1f; 快照更改跟踪&#xff1a;首次跟踪一个实体的时候&#xff0c;EF Core 会创建这个实体的快照。执行SaveChanges()等方法时&#xff0c;EF Core将会把存储的快照中的值与…

2023-2024 学年 广东省职业院校技能大赛(高职组)“信息安全管理与评估”赛题一

2023-2024 学年 广东省职业院校技能大赛(高职组“信息安全管理与评估”赛题一&#xff09; 模块一:网络平台搭建与设备安全防护第一阶段任务书任务 1&#xff1a;网络平台搭建任务 2&#xff1a;网络安全设备配置与防护DCRS:DCFW:DCWS:DCBC:WAF: 模块二&#xff1a;网络安全事件…

得物App利用技术赋能,打造潮流消费“新玩法”

如今&#xff0c;技术的力量正在以前所未有的方式重塑着我们的消费体验。从线上购物到虚拟现实&#xff0c;技术的角色越来越重要&#xff0c;它不仅是推动商业发展的引擎&#xff0c;更是满足年轻消费者多元化、个性化需求的关键。得物App作为一个年轻人喜爱的潮流消费平台&am…

语义检索效果差?深度学习rerank VS 统计rerank选哪个

前段时间我开发了一个用白话文搜索语义相近的古诗词的应用&#xff08;详见&#xff1a;《朋友圈装腔指南&#xff1a;如何用向量数据库把大白话变成古诗词》&#xff09;&#xff0c;但是有时候搜索结果却不让人满意&#xff0c;排名靠前的结果和查询的语义没啥关系&#xff0…

数仓建模(三)建模三步走:需求分析、模型设计与数据加载

本文包含&#xff1a; 数据仓库的背景与重要性数据仓库建模的核心目标本文结构概览&#xff1a;需求分析、模型设计与数据加载 目录 第一部分&#xff1a;需求分析 1.1 需求分析的定义与目标 1.2 需求分析的步骤 1.2.1 业务需求收集 1.2.2 技术需求分析 1.2.3 成果输出…

【机器学习】制造业转型:机器学习如何推动工业 4.0 的深度发展

我的个人主页 我的领域&#xff1a;人工智能篇&#xff0c;希望能帮助到大家&#xff01;&#xff01;&#xff01;&#x1f44d;点赞 收藏❤ 引言 在当今科技飞速发展的时代&#xff0c;制造业正经历着前所未有的变革&#xff0c;工业4.0的浪潮席卷而来。工业4.0旨在通过将…

MPLS原理及配置

赶时间可以只看实验部分 由来&#xff1a;90年代中期&#xff0c;互联网流量的快速增长。传统IP报文依赖路由器查询路由表转发&#xff0c;但由于硬件技术存在限制导致转发性能低&#xff0c;查表转发成为了网络数据转发的瓶颈。 因此&#xff0c;旨在提高路由器转发速度的MPL…

小程序如何引入腾讯位置服务

小程序如何引入腾讯位置服务 1.添加服务 登录 微信公众平台 注意&#xff1a;小程序要企业版的 第三方服务 -> 服务 -> 开发者资源 -> 开通腾讯位置服务 在设置 -> 第三方设置 中可以看到开通的服务&#xff0c;如果没有就在插件管理中添加插件 2.腾讯位置服务…

【spring mvc】文件上传、下载

文件上传&#xff0c;存储至本地目录中 一、代码1、工具类&#xff08;敏感后缀过滤&#xff09;2、文件上传&#xff0c;存储至本地3、文件下载 二、效果演示1、上传1.1、postMan 请求1.2、上传效果 2、下载2.1、下载效果 一、代码 1、工具类&#xff08;敏感后缀过滤&#x…

C语言预处理艺术:编译前的魔法之旅

大家好&#xff0c;这里是小编的博客频道 小编的博客&#xff1a;就爱学编程 很高兴在CSDN这个大家庭与大家相识&#xff0c;希望能在这里与大家共同进步&#xff0c;共同收获更好的自己&#xff01;&#xff01;&#xff01; 本文目录 引言正文一、预处理的作用与流程&#xf…

智汇云舟参编《城市轨道交通安全防范系统技术要求》国标正式发布

近日&#xff0c;根据国家标准化管理委员会官网&#xff0c;全国标准信息公共服务平台发布的公告&#xff0c;国家标准《城市轨道交通安全防范系统技术要求》&#xff08;GB/T 26718-2024&#xff09;已由全国城市轨道交通标准化技术委员会上报国家标准化管理委员会&#xff0c…