统计模型----决策树

news2024/11/29 22:35:12

决策树

(1)决策树是一种基本分类与回归方法。它的关键在于如何构建这样一棵树。决策树的建立过程中,使用基尼系数来评估节点的纯度和划分的效果。基尼系数是用来度量一个数据集的不确定性的指标,其数值越小表示数据集的纯度越高。决策树的节点划分方式可以根据不同的算法和参数设置而不同。节点划分方式不同,但是基尼系数的下降效果却是一样的,只是具体数值不同。决策树的深度可以根据需求进行设置,如果不限制决策树的深度,它将一直延伸下去,直到所有叶子节点的均方误差为0。
模型特点:优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据。
缺点:可能会产生过度匹配的问题
适用数据类型:数值型和标称型
(3)决策树通常有三个步骤:特征选择、决策树的生成、决策树的修剪。
(4)决策树的构造

决策树学习的算法通常是一个递归地选择最优特征,并根据该特征对训练数据进行分割,使得各个子数据集有一个最好的分类的过程。这一过程对应着对特征空间的划分,也对应着决策树的构建。
1)开始:构建根节点,将所有训练数据都放在根节点,选择一个最优特征,按着这一特征将训练数据集分割成子集,使得各个子集有一个在当前条件下最好的分类。
2)如果这些子集已经能够被基本正确分类,那么构建叶节点,并将这些子集分到所对应的叶节点去。
3)如果还有子集不能够被正确的分类,那么就对这些子集选择新的最优特征,继续对其进行分割,构建相应的节点,如果递归进行,直至所有训练数据子集被基本正确的分类,或者没有合适的特征为止。
4)每个子集都被分到叶节点上,即都有了明确的类,这样就生成了一颗决策树。

(5)决策树分析举例(理解)
例如:小熊毕业了来到一家银行工作,刚刚入行的小熊仔细整理了客户的基本信息。如下图
在这里插入图片描述
在这里插入图片描述
小熊根据以上信息得出基本结论:
(1)按有工作分类:
在这里插入图片描述
(2)按信誉分类的话:
在这里插入图片描述
以上样本结果好像与数据结果相悖
那如果按有工作和信誉因素分类的话:
如果客户有工作那就可以批准贷款,如果客户没有工作的话,我们再考虑他的信誉情况做出判断,这就是利用决策树进行分类的过程。
在这里插入图片描述
标准可以用一个基尼系数来定义:
采用基尼系数进行运算的决策树也称为CART决策树。
基尼系数(gini)用于计算一个系统中的失序现象,即系统的混乱程度(纯度)。基尼系数越高,系统的混乱程度就越高(不纯),建立决策树模型的目的就是降低系统的混乱程度(体高纯度),从而得到合适的数据分类效果。
基尼系数的计算公式如下:
在这里插入图片描述
选择基尼数最小的来作为决策树下一级的标准。
Gini= 1-p(批准)2-p(拒绝)2
当p(批准)=1 p(拒绝)=0 Gini=1-1=0
当p(批准)=0 p(拒绝)=1 Gini=1-0-1=0
当p(批准)=0.5 p(拒绝)=0.5 Gini=1-0.25-0.25=0.5
以以上例子可以得出
Gini= 1-p(9/15)2-p(6/15)2=0.48
Gini(工作,是)=1-(5/5)-0=0
Gini(工作,否)=1-(4/10)-(6/10)=0.48
Gini(工作)=5/15Gini(工作,是)+10/15Gini(工作,否)=0.32
依次算出:Gini(房子)=0.27 Gini(信誉)=0.28
以上可知有房子的基尼系数最小,所以依此为下一次分类的依据:

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

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

相关文章

管理与系统思维

技术管理者不仅仅需要做事情,还需要以系统思维的方式推动组织变革,从而帮助团队和个人做到更好。原文: Management and Systems Thinking 图片来源: Dall-E "除非管理者考虑到组织的系统性,否则大多数提高绩效的努力都将注定失败。"…

有效括号——括号的匹配

给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个右括号都有…

C++ 迭代器(iterator)

迭代器介绍 迭代器(iterator):容器类型内置的“指针” - 使用迭代器可以访问某个元素,迭代器也能从一个元素移动到另一个元素。 - 有迭代器的类型都拥有 begin 和 end 成员- begin:返回指向第一个元素(或字…

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)

目录 一、LaTeX软件的安装与环境配置  1.LaTeX软件texlive的下载  2. texlive的安装 二、用命令行实现LaTeX文档的编写  1.通过命令行演示LaTeX编写的过程  2.将编译LaTeX并生成pdf文件的过程封装成一个bat文件  3.演示一个含有中文的LaTeX文件 三、用TexStudio IDE实…

性格孤僻怎么办?改变性格孤僻的4种方法

性格孤僻是比较常见的说法,日常中我们说某人性格孤僻,意思就是这人不太合群,喜欢独来独往,话少,人际关系不太好,其言行往往不符合大众的价值观。从性格孤僻的角度来看,可能跟很多种心理疾病存在…

布隆过滤器Bloom Filter

本章代码gitee仓库:布隆过滤器 文章目录 0. 前言1. 布隆过滤器的概念2. 布隆过滤器的实现2.1 哈希函数2.2 插入和判断 3. 布隆过滤器的删除4. 布隆过滤器的误判 0. 前言 我们在玩某款游戏的时候,刚注册的话,我们需要取一个昵称,这…

Kafka:安装与简单使用

文章目录 下载安装windows安装目录结构启动服务器创建主题发送一些消息启动消费者设置多代理集群常见问题 工具kafka tool 常用指令topic查看topic删除topic 常见问题参考文献 下载安装 下载地址:kafka-download windows安装 下载完后,找一个目录解压…

inndy_echo

inndy_echo Arch: i386-32-little RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x8048000)32位,只开了NX int __cdecl __noreturn main(int argc, const char **argv, const char **envp) {char s; // [espCh…

微信小程序引入字体在部分机型失效不兼容解决办法

写小程序页面,美工作图用了特殊字体 引入代码: font-face {font-family: huxiaobo;src: url("https://xxxxxxxx.top/assets/fonts/huxiaobonanshenti.woff") } .font-loaded {font-family: "huxiaobo"; } 上线后发现部分安卓机型不…

Java下Properties类的使用(写出和读入)

代码如下: public class MyWork {public static void main(String[] args) throws IOException {Properties pro1 new Properties();pro1.setProperty("0001","张三");pro1.setProperty("0002","李四");pro1.setProperty…

1600*E. Kolya and Movie Theatre(贪心优先队列规律)

Kolya and Movie Theatre - 洛谷 Problem - 1862E - Codeforces 解析: 可以观察到每次看电影所减少的舒畅值都和前一次有关,这样的话,可以发现减少的 d 只和最后一次看电影的时间有关。 所以枚举最后一次看电影的时间,并且维护一…

iOS设备管理器iMazing比iTunes好用吗?有哪些优势

虽然 iTunes 是 Apple 官方指定的 iPhone 数据备份和管理工具,但是一直以来 iTunes 卡顿的使用体验和过慢的备份过程为不少人诟病。如果大家也被 iTunes 体验不佳的备份和管理功能所困扰,那么简单易用、功能强大的iMazing 能为你解决这个问题。 iMazing…

java web+Mysql e-life智能生活小区物业管理系统

本项目为本人自己书写,主要服务小区业主和管理人员。 e-life智能生活小区涉及多个方面的智能化和便利化服务: 1. 用户模块:包含基本的登入登出操作,查看个人信息中用户可以查看 自己的个人资料但不可以修改个人信息。 a) 用户…

从零开始学习 Java:简单易懂的入门指南之IO字节流(三十)

IO流之字节流 1. IO概述1.1 什么是IO1.2 IO的分类1.3 IO的流向说明图解1.4 顶级父类们 2. 字节流2.1 一切皆为字节2.2 字节输出流【OutputStream】2.3 FileOutputStream类构造方法写出字节数据数据追加续写写出换行 2.4 字节输入流【InputStream】2.5 FileInputStream类构造方法…

自学成为一名黑客(自学笔记)

前言: 想自学网络安全(黑客技术)首先你得了解什么是网络安全!什么是黑客 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“…

Armv9 Cortex-A720的L2 memory system 和 L2 Cache

9 L2 memory system Cortex-A720核心的L2内存系统通过CPU bridge连接core与DynamIQ Shared Unit-120,其中包括私有的L2缓存。 L2缓存是统一的,每个Cortex-A720核心在一个集群中都有私有的L2缓存。 L2内存系统包括使用虚拟地址(VA)和程序计数器(PC)的数据预取引擎。不同…

C++——函数指针与指针函数

函数指针与指针函数 1. 初识 一个区分的小技巧: “函数指针”中函数是用来修饰指针的,所以主体是指针,它主要是用来指向函数的。 “指针函数”中指针是用来修饰函数的,所以主体是函数,该函数的返回类型是指针。 举个…

A1048 Find Coins(测试点1)

Sample Input 1: 8 15 1 2 8 7 2 4 11 15 Sample Output 1: 4 11 Sample Input 2: 7 14 1 8 7 2 4 11 15 Sample Output 2: No Solution idea 测试点1:m比i小的情况处理小细节:i m/2时,注意i的出现次数必须大于一次 solution #in…

【数据结构--八大排序】之冒泡排序+选择排序+插入排序

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …

【数据库——MySQL】(13)过程式对象程序设计——存储函数、错误处理以及事务管理

目录 1. 存储函数2. 存储函数的应用3. 错误处理4. 抛出异常5. 事务处理6. 事务隔离级7. 应用实例参考书籍 1. 存储函数 要 创建 存储函数,需要用到 CREATE 语句: CREATE FUNCTION 存储函数名([参数名 类型, ...])RETURNS 类型[存储函数体]注意&#xff1…