当前位置: 首页 > news >正文

【机器学习】决策树

参考课程视频:https://www.icourse163.org/course/NEU-1462101162?tid=1471214452

1 概述

样子:
在这里插入图片描述

2 分裂

2.1 分裂原则

信息增益
在这里插入图片描述
在这里插入图片描述

信息增益比
在这里插入图片描述

基尼指数
在这里插入图片描述

3 终止 & 剪枝

3.1 终止条件

  • 无需分裂
    • 当前节点内样本同属一类
  • 无法分裂
    • 当前节点内所有样本的特征向量完全相同
    • 采用任何特征都无法将当前样本集分为多个子类
  • 无数据可分
    • 当前节点内没有样本

3.2 剪枝

剪枝的目的:解决决策树过拟合现象(决策树规模大),提高决策树的泛化性能。

剪枝方法

  • 前剪枝(预剪枝)
    • 在决策树的生成过程中同步进行剪枝
    • 在节点进行分裂前,对比节点分裂前后决策树的泛化性能指标,若泛化性能在分裂后得到提升,执行分裂;否则不执行分裂。
  • 后剪枝
    • 在决策树完全生成后逐步剪去叶子节点
    • 常采用启发式方法从最深层的叶子节点或具有最高不纯度的
      叶子节点开始剪枝
    • 通过对比剪枝前后的泛化指标,决定是否剪去该叶子节点。

前剪枝 & 后剪枝 策略对比:

策略时间拟合风险泛化能力
前剪枝训练时间较少、测试时间较少过拟合风险较低 、欠拟合风险较高泛化能力一般
后剪枝训练时间较长、测试时间较少过拟合风险较低、欠拟合风险稳定泛化能力较好

通常后剪枝比前剪枝保留的决策树规模更大。

4 决策树算法

4.1 经典决策树算法

ID3
在这里插入图片描述

C4.5
在这里插入图片描述

CART(Classification And Regression Tree)
在这里插入图片描述

4.2 算法对比分析

算法特征选择剪枝处理数据类型树类型
ID3信息增益离散多叉树
C4.5信息增益比前剪枝离散、连续多叉树
CART基尼指数后剪枝离散、连续二叉树
总结:
  • CART的功能更全:分类、回归
  • CART具有更好的泛化性能:二叉树,后剪枝。
  • CART训练时间较长,计算开销较大。
  • 信息增益、信息增益比和基尼指数各有利弊。

相关文章:

【机器学习】决策树

参考课程视频:https://www.icourse163.org/course/NEU-1462101162?tid1471214452 1 概述 样子: 2 分裂 2.1 分裂原则 信息增益 信息增益比 基尼指数 3 终止 & 剪枝 3.1 终止条件 无需分裂 当前节点内样本同属一类 无法分裂 当前节点内…...

[node] Node.js的全局对象Global

[node] Node.js的全局对象Global 什么是全局对象 & 全局变量全局对象与全局变量全局变量-- __filename全局变量-- __dirname全局函数-- setTimeout(cb, ms)全局函数-- clearTimeout(t)全局函数-- setInterval(cb, ms)全局变量-- consoleconsole 方法概览 全局变量-- proces…...

完整的 Meteor NPM 集成

在Meteor中,你只能使用包内的模块。你不能直接将模块与流星应用一起使用。此软件包解决了该问题 文章目录 源码下载地址安装定义软件包使用软件包在 Meteor 方法中使用 npm 模块的示例应用程序接口异步实用程序Async.runSync(函数)Meteor.sy…...

智能优化算法应用:基于骑手优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于骑手优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于骑手优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.骑手优化算法4.实验参数设定5.算法结果6.…...

解决 MATLAB 遗传算法中 exitflg=4 的问题

一、优化问题简介 以求解下述优化问题为例: P 1 : min ⁡ p ∑ k 1 K p k s . t . { ∑ k 1 K R k r e q l o g ( 1 α k ∗ p k ) ≤ B b s , ∀ k ∈ K p k ≥ 0 , ∀ k ∈ K \begin{align} {P_1:}&\mathop{\min}_{\bm{p}}{ \sum\limits_{k1}^K p_k } \no…...

云卷云舒:云原生业务应用成熟度模型

笔者最近学习了信通院发布的《云原生应用成熟度的评估模型》,做如下解读: 一、概述 云原生业务应用成熟度模型从企业业务应用基础设施域、应用研发域以及服务治理域等三个能力域二十个过程域综合评估企业业务应用在弹性、高可用、自愈性、可观测性以及…...

STM32的以太网外设+PHY(LAN8720)使用详解(5):MAC及DMA配置

0 工具准备 1.野火 stm32f407霸天虎开发板 2.LAN8720数据手册 3.STM32F4xx中文参考手册1 MAC及DMA配置 1.1 使能ETH时钟 stm32的ETH外设挂载在AHB1总线上,位于RCC_AHB1ENR的bit25-bit27: 相关语句如下: RCC_AHB1PeriphClockCmd(RCC_AHB1…...

GitHub、Gitee、Gitlab共用一个SSH密钥配置

目录 1. 说明2. 生成ssh2-1. 设置全局邮箱和用户名2-2. 生成全局ssh 3. Github、Gitee配置ssh3-1. Github配置3-2. Gitee配置 1. 说明 由于我的Github、Gitee、Gitlab用的邮箱不同,向不同的平台提交代码时都需要验证密码,非常麻烦所以配置了一个共用的S…...

ClickHouse(19)ClickHouse集成Hive表引擎详细解析

文章目录 Hive集成表引擎创建表使用示例如何使用HDFS文件系统的本地缓存查询 ORC 输入格式的Hive 表在 Hive 中建表在 ClickHouse 中建表 查询 Parquest 输入格式的Hive 表在 Hive 中建表在 ClickHouse 中建表 查询文本输入格式的Hive表在Hive 中建表在 ClickHouse 中建表 资料…...

用C求斐波那契数列-----(C每日一编程)

斐波那契数列: 斐波那契数列是指这样一个数列:1,1,2,3,5,8,13,21,34,55,89……这个数列从第3项开始 ,每一项都等于前两项之和。 递推…...

在Jetpack Compose中使用ExoPlayer实现直播流和音频均衡器

在Jetpack Compose中使用ExoPlayer实现直播流和音频均衡器 背景 ExoPlayer与Media3的能力结合,为Android应用程序播放多媒体内容提供了强大的解决方案。在本教程中,我们将介绍如何设置带有Media3的ExoPlayer来支持使用M3U8 URL进行直播流。此外&#x…...

持续集成交付CICD:Jira 远程触发 Jenkins 实现更新 GitLab 分支

目录 一、实验 1.环境 2.GitLab 查看项目 3.Jira新建模块 4. Jira 通过Webhook 触发Jenkins流水线 3.Jira 远程触发 Jenkins 实现更新 GitLab 分支 二、问题 1.Jira 配置网络钩子失败 2. Jira 远程触发Jenkins 报错 一、实验 1.环境 (1)主机 …...

基于SSM的面向TCP_IP的网络互联实验平台

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于SSM的面向TCP和IP的网络互联实验平台…...

【IDEA】try-catch自动生成中修改catch的内容

编辑器 --> 文件和代码模板 --> 代码 --> Catch Statement Body...

2024 十大AI预测

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...

【Linux基础开发工具】gcc/g++使用make/Makefile

目录 前言 gcc/g的使用 1. 语言的发展 1.1 语言和编译器自举的过程 1.2 程序翻译的过程: 2. 动静态库的理解 Linux项目自动化构建工具-make/makefile 1. 快速上手使用 2. makefile/make执行顺序的理解 前言 了解完vim编辑器的使用,接下来就可以尝…...

Windows Nginx版本升级

记录windows系统上nginx版本从1.22.1直接升级到1.25.3,全程一步到位! nginx官网: https://nginx.org/ C:\Windows\system32>cd C:\nginx# 查看当前nginx版本C:\nginx>nginx -v nginx version: nginx/1.22.1# 停止nginx服务C:\nginx>net stop ng…...

kubernetes集群 应用实践 kafka部署

kubernetes集群 应用实践 kafka部署 零.1、环境说明 零.2、kafka架构说明 zookeeper在kafka集群中的作用 一、Broker注册 二、Topic注册 三、Topic Partition选主 四、生产者负载均衡 五、消费者负载均衡 一、持久化存储资源准备 1.1 创建共享目录 [rootnfsserver ~]# mkdir -…...

Featured Based知识蒸馏及代码(3): Focal and Global Knowledge (FGD)

文章目录 1. 摘要2. Focal and Global 蒸馏的原理2.1 常规的feature based蒸馏算法2.2 Focal Distillation2.3 Global Distillation2.4 total loss3. 实验完整代码论文: htt...

CentOs 安装MySQL

1、拉取安装包 wget --no-check-certificate dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm 成功拉取 2、安装 yum install mysql-community-release-el6-5.noarch.rpm 过程中可能需要你同意一些东西,y 即可 然后稍微检查一下 yum repolist enabled…...

基于AI政策路径与通胀预期模型的美联储决策分析:鲍威尔观望信号引发加息预期归零

摘要:本文通过构建AI政策路径预测模型,结合通胀预期识别系统、能源价格传导算法与劳动力市场评估框架,对美联储在当前环境下的利率决策逻辑进行分析,重点解析“观望策略”背后的模型依据及市场加息预期快速回落的原因。一、AI政策…...

别再手动画封装了!用嘉立创EDA免费库5分钟搞定Altium Designer缺失的器件

5分钟极速救援:用嘉立创EDA破解Altium Designer封装缺失难题 深夜11点,李工盯着屏幕上闪烁的光标和半成品的PCB布局图,额头渗出细密的汗珠。项目交付截止前48小时,团队突然发现Altium Designer官方库中缺少关键芯片TPS5430DDAR的封…...

30天小白进阶AI大神:收藏这份路线图,免费工具玩转大模型!

本文为AI学习新手提供了30天的系统学习路线图,涵盖了AI技术栈的三个层次:应用层、模型层和基础设施层。文章建议从应用层入手,逐步向下理解,并推荐了主流AI工具的对比及免费工具的入门使用。此外,还提供了给初学者的五…...

IDEA 好用的ai插件 Windsurf

文章目录 前言一、Windsurf 插件功能二、IDEA安装三、登录Windsurf四、Windsurf简单使用介绍 前言 在 IntelliJ IDEA 中,Windsurf 是一款专注于 AI 代码辅助的插件,能够提升开发效率。以下是关于该插件的关键信息和使用方法: 提示&#xff1…...

【人生底稿 03】2012 末日传说与我踏入 IT 的起点

接上《人生底稿》系列,本篇记录一段真实的成长碎片,不严格按时间线更新,只为记下一个农村少年,一步步走向社会的真实轨迹。 在参加某科技公司 ITMS 培训之前,我先经历了一轮面试 —— 上机题 技术面,分数…...

从仿真到实战:在CST/HFSS中如何设置周期性边界条件评估紧耦合天线阵元性能

从仿真到实战:在CST/HFSS中设置周期性边界条件评估紧耦合天线阵元性能 天线阵列设计中最具挑战性的环节之一,是如何准确预测单个阵元在阵列环境中的真实工作状态。当我在设计第一个超宽带相控阵时,曾因忽视阵元间互耦效应导致实物测试结果与仿…...

Nacos服务实例权重设置详解:如何根据服务器性能动态调整流量分配

Nacos服务实例权重设置详解:如何根据服务器性能动态调整流量分配 在分布式系统架构中,服务实例的性能差异是不可避免的现实问题。新采购的服务器与运行多年的老旧设备并存,不同配置的云主机混合部署,这些场景都要求我们能够智能地…...

Scarab:让空洞骑士模组管理变得如此简单

Scarab:让空洞骑士模组管理变得如此简单 【免费下载链接】Scarab An installer for Hollow Knight mods written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/sc/Scarab 你是否曾经因为空洞骑士模组安装的复杂流程而头疼?是否在寻找依…...

网络安全有哪些岗位,如何成为一位优秀的网络安全工程师?

网络安全是什么? 首先说一下什么是网络安全? 网络安全工程师工作内容具体有哪些? 网络安全是确保网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而受到破坏、更改、泄露,系统连续可靠正常地…...

探秘HackGPT:一款强大的AI辅助开发工具

探秘HackGPT:一款强大的AI辅助开发工具 【免费下载链接】hackGPT I leverage OpenAI and ChatGPT to do hackerish things 项目地址: https://gitcode.com/GitHub_Trending/ha/hackgpt 在快速发展的科技领域,人工智能(AI)已…...