决策树的基本构建流程

决策树的基本构建流程

决策树的本质是挖掘有效的分类规则,然后以树的形式呈现

这里有两个重点:

  1. 有效的分类规则;
  2. 树的形式。

有效的分类规则:叶子节点纯度越高越好,就像我们分红豆和黄豆一样,我们当然是想把红豆和黄豆完全分开。

这里标签的纯度的衡量指标有:

  1. 分类误差;
  2. 信息熵(Entropy)
  3. 基尼系数(Gini)

我们举例来看看这三个指标是如何计算的:

对于单个数据集

假如我们有10条样本,6条0类样本,4条1类样本

则0类样本占: 6 10 \frac{6}{10} 106
1类样本占: 4 10 \frac{4}{10} 104

分类误差(1-多数类的占比): 1 − 6 10 = 0.4 1-\frac{6}{10}=0.4 1106=0.4
信息熵: − 6 10 ∗ l o g 2 6 10 − 4 10 ∗ l o g 2 4 10 = 0.97 -\frac{6}{10}*log_2\frac{6}{10}-\frac{4}{10}*log_2\frac{4}{10} =0.97 106log2106104log2104=0.97
基尼系数: 1 − ( ( 6 10 ) 2 + ( 4 10 ) 2 ) = 0.48 1-((\frac{6}{10})^2+(\frac{4}{10})^2)=0.48 1((106)2+(104)2)=0.48

对于多个数据集
在这里插入图片描述

如何计算B1,B2两个子节点整体的评估指标?

加权求和

这里以基尼系数为例

Gini_B1 = 1 − ( ( 2 5 ) 2 + ( 3 5 ) 2 ) = 0.48 1-((\frac{2}{5})^2+(\frac{3}{5})^2)=0.48 1((52)2+(53)2)=0.48

Gini_B2 = 0

Gini_B = 5 8 \frac{5}{8} 85*Gini_B1 + 3 8 \frac{3}{8} 83*Gini_B2= 5 8 ∗ 0.48 \frac{5}{8}*0.48 850.48+ 3 8 ∗ 0 \frac{3}{8}*0 830=0.3

介绍完了有效的分类规则,我们再来看看第二个重点:树的形式。
下面简单画一下二层分类树。
在这里插入图片描述
主流的决策树分类类别可划分为:

  1. D3(Iterative Dichotomiser 3) 、C4.5、C5.0决策树
  2. CART(Classification and Regression Trees)决策树
  3. CHAID(Chi-square automatic interaction detection)树

下面我们分别来看看决策树构建重点问题

1. 决策树的生长方向?

决策树生长的方向也就是令每个划分出来的子集纯度越来越高的方向

2. 如何挑选有效的分类规则?

选择信息增益最大的

假设我们有age列:
在这里插入图片描述
首先逐列对特征进行数值排序:
在这里插入图片描述
然后寻找特征不同取值之间的中间点为切点:
在这里插入图片描述
N个取值,有N-1种划分方式
这里有10个取值,所以有9种划分方式将数据集一分为二。
假设我们以10和9的中间点为划分方式
10 + 9 2 = 9.5 \frac{10+9}{2}=9.5 210+9=9.5
则我们可以以age是否小于等于9.5为划分规则,将数据集一分为二。

Notes:
1.CART(二叉树)用这种方法同时处理连续变量(预测值是划分后子数据集的均值)和离散变量;
2. C4.5连续变量用这种方式,离散变量用列的取值。

信息增益的计算:
CART Gain = Gini(父节点)- Gini(子节点)
ID3和C4.5 Gain = Entropy(父节点)- Entropy(子节点)

3. 如何停止迭代生长?

收敛条件:
(1)两轮迭代损失函数的差值小于某个值;
(2)限制最大迭代次数,也就是约束树最多生长几层

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

增速下滑?毫米波雷达的「烦恼」

编者按:传统3D雷达不赚钱,4D雷达还处于市场导入初期,对于不同角色的供应商来说,当下最难的是如何熬过这段艰难时期。 2023年底,蔚来旗舰车型ET9正式亮相,首次导入4D毫米波成像雷达。这款产品由蔚来资本投资…

GLM-4多模态重磅更新!摸着OpenAI过河!

智谱CEO张鹏说:OpenAI摸着石头过河,我们摸着OpenAI过河。 摸来摸去摸了一年,以每3-4个月升级一次基座模型的速度,智谱摸着OpenAI过河的最新成绩到底怎么样?真如所说吗? 听到GLM-4发布的当天,我就…

Android14实战:调整A2DP音量曲线(五十三)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只…

Rust采集天气预报信息并实时更新数据

目录 一、引言 二、系统设计 三、系统实现 四、案例分析 五、结论 一、引言 随着互联网技术的发展,人们对于获取实时的天气预报信息的需求越来越强烈。Rust作为一种高效、安全的编程语言,可以用于开发各种应用,包括天气预报采集系统。本…

Unity中URP下的 额外灯 逐像素光 和 逐顶点光

文章目录 前言一、额外灯 的 逐像素灯 和 逐顶点灯1、存在额外灯的逐像素灯2、存在额外灯的逐顶点灯 二、测试这两个宏的作用1、额外灯的逐像素灯2、额外灯的逐顶点灯 前言 在之前的文章中,我们了解了 主光相关的反射计算。 Unity中URP下的SimpleLit的 Lambert漫反…

图解CART分类树评估器的参数

图解CART分类树评估器的参数

微信小程序从入门到进阶(二)

数据请求 wx.request发起网络请求&#xff0c;请求的方式主要分为两种&#xff1a; get 请求 post 请求 // get请求 // html <view><button type"primary" bindtap"onGetClick">发起 get 请求</button> </view> // js // inde…

解决报错:javax.net.ssl.SSLHandshakeException: No appropriate protocol

目录 一、场景二、报错信息三、原因四、排查五、解决 一、场景 使用对象存储进行文件上传时报错 注&#xff1a;该问题只要需要用到http的都有可能出现&#xff0c;不是只针对对象存储 二、报错信息 com.hitachivantara.hcp.common.ex.InvalidResponseException: com.hitach…

47. 全排列 II - 力扣(LeetCode)

题目描述 给定一个可包含重复数字的序列 nums &#xff0c;按任意顺序 返回所有不重复的全排列。 输入示例 nums [1,1,2]输出示例 [[1,1,2], [1,2,1], [2,1,1]]解题思路 解题代码 class Solution {List<List<Integer>> result new ArrayList<>();Deq…

外网ssh远程连接服务器

文章目录 外网ssh远程连接服务器一、前言二、配置流程1. 在服务器上安装[cpolar](https://www.cpolar.com/)客户端2. 查看版本号&#xff0c;有正常显示版本号即为安装成功3. token认证4. 简单穿透测试5. 向系统添加服务6. 启动cpolar服务7. 查看服务状态8. 登录后台&#xff0…

【STM32F103】JDY-31蓝牙模块(USART)

JDY-31 JDY-31蓝牙模块&#xff0c;就是下面这么个小玩意。某宝买大概就七八块&#xff0c;超过十块的不要买。 JDY一共有6根引脚&#xff0c;而我们想要让它工作的话只需要接两根线即可&#xff0c;那就是VCC和GND&#xff0c;给VCC接3.6V~6V的电压&#xff08;推荐是5V&…

Modbus网关BL101 既实现Modbus转MQTT,还能当串口服务器使用

随着工业4.0的迅猛发展&#xff0c;人们深刻认识到在工业生产和生活中&#xff0c;实时、可靠、安全的数据传输至关重要。在此背景下&#xff0c;高性能的工业电力数据传输解决方案——协议转换网关应运而生&#xff0c;广泛应用于工业自动化系统、远程监控和物联网应用应用环境…

【江科大】STM32:定时器中断

文章目录 TIM&#xff08;Timer&#xff09;定时器根据复杂度和应用场景分为了高级定时器、通用定时器、基本定时器三种类型基本定时器通用定数器 高级定时器 时钟&#xff08;时钟电路&#xff09;的作用是什么&#xff1a;设置定时器触发中断普通方法&#xff1a;预分频器时序…

架构篇15:高性能数据库集群-分库分表

文章目录 业务分库分表实现方法小结 上篇我们讲了“读写分离”&#xff0c;读写分离分散了数据库读写操作的压力&#xff0c;但没有分散存储压力&#xff0c;当数据量达到千万甚至上亿条的时候&#xff0c;单台数据库服务器的存储能力会成为系统的瓶颈&#xff0c;主要体现在这…

【pdf技巧】PDF文件设置打印限制

想要限制PDF文件的打印功能&#xff0c;想要限制PDF文件打印清晰度&#xff0c;都可以通过设置限制编辑来达到目的。 打开PDF编辑器&#xff0c;找到设置限制编辑的界面&#xff0c;切换到加密状态&#xff0c;然后我们就看到 有印刷许可。勾选【权限密码】输入一个PDF密码&am…

正则表达式、grep过滤工具、sed基本用法、sed基本操作指令、sed应用案例

1 案例1&#xff1a;使用正则表达式 1.1 问题 本案例要求熟悉正则表达式的编写&#xff0c;完成以下任务&#xff1a; 利用grep或egrep工具练习正则表达式的基本用法 1.2 方案 表&#xff0d;1 基本正则列表 表&#xff0d;2 扩展正则列表 1.3 步骤 实现此案例需要按照如…

aiXcoder自动跳出

在使用vscode时突然提示&#xff1a;需登录aixcoder才可以继续使用&#xff1b;如果不登录&#xff0c;一使用vscode就会自动弹出aixcoder试用界面&#xff1a; 试用&#xff1f;后面可能要收取费用&#xff0c;本着白嫖的宗旨思考&#xff1a;那么怎么恢复原来的版本呢&#x…

A 股承担着一个什么功能?

​A 股&#xff1a;中国资本市场的核心角色 A 股&#xff0c;即人民币普通股票&#xff0c;在中国资本市场中扮演着至关重要的角色。它不仅是投资者买卖交易的场所&#xff0c;更是中国经济发展的重要引擎。 首先&#xff0c;A 股为中国的企业提供了融资平台。中国有着庞大的…

天天酷跑-C语言搭建童年游戏(easyx)

游戏索引 游戏名称&#xff1a;天天酷跑 游戏介绍&#xff1a; 本游戏是在B站博主<程序员Rock>的视频指导下完成 想学的更详细的小伙伴可以移步到<程序员Rock>视频 【程序员Rock】C语言项目&#xff1a;手写天天酷跑丨大一课程设计首选项目&#xff0c;手把手带你用…

Web安全漏洞专项靶场—SQL注入—docker环境—sqli-labs靶场—详细通关指南

SQL注入—sqli-labs靶场 零、前言一、环境搭建①、VirtualBox②、Kali Linux③、Docker 二、闯关开始1、Less-1——union2、Less-2—数字型—union3、Less-3—)—union4、Less-4—")—union5、Less-5——布尔盲注6、Less-6—"—布尔盲注7、Less-7—))7.1—布尔盲注7.…