分类预测 | Matlab实现GA-XGBoost遗传算法优化XGBoost的多特征分类预测

分类预测 | Matlab实现GA-XGBoost遗传算法优化XGBoost的多特征分类预测

目录

    • 分类预测 | Matlab实现GA-XGBoost遗传算法优化XGBoost的多特征分类预测
      • 效果一览
      • 基本介绍
      • 程序设计
      • 参考资料

效果一览

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5

基本介绍

Matlab实现GA-XGBoost遗传算法优化XGBoost的多特征分类预测,输入多个特征,分四类。
XGBoost的核心算法思想基本就是:不断地添加树,不断地进行特征分裂来生长一棵树,每次添加一个树,其实是学习一个新函数f(x),去拟合上次预测的残差。当我们训练完成得到k棵树,我们要预测一个样本的分数,其实就是根据这个样本的特征,在每棵树中会落到对应的一个叶子节点,每个叶子节点就对应一个分数。最后只需要将每棵树对应的分数加起来就是该样本的预测值。

程序设计

  • 完整程序和数据下载:Matlab实现GA-XGBoost遗传算法优化XGBoost的多特征分类预测
%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行%%  读取数据
res = xlsread('data.xlsx');%%  分析数据
num_class = length(unique(res(:, end)));  % 类别数(Excel最后一列放类别)
num_res = size(res, 1);                   % 样本数(每一行,是一个样本)
num_size = 0.7;                           % 训练集占数据集的比例
res = res(randperm(num_res), :);          % 打乱数据集(不打乱数据时,注释该行)
flag_conusion = 1;                        % 标志位为1,打开混淆矩阵(要求2018版本及以上)%%  设置变量存储数据
P_train = []; P_test = [];
T_train = []; T_test = [];%%  划分数据集
for i = 1 : num_classmid_res = res((res(:, end) == i), :);           % 循环取出不同类别的样本mid_size = size(mid_res, 1);                    % 得到不同类别样本个数mid_tiran = round(num_size * mid_size);         % 得到该类别的训练样本个数P_train = [P_train; mid_res(1: mid_tiran, 1: end - 1)];       % 训练集输入T_train = [T_train; mid_res(1: mid_tiran, end)];              % 训练集输出P_test  = [P_test; mid_res(mid_tiran + 1: end, 1: end - 1)];  % 测试集输入T_test  = [T_test; mid_res(mid_tiran + 1: end, end)];         % 测试集输出
end%%  数据转置
P_train = P_train'; P_test = P_test';
T_train = T_train'; T_test = T_test';%%  得到训练集和测试样本个数
M = size(P_train, 2);
N = size(P_test , 2);%%  数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test  = mapminmax('apply', P_test, ps_input);t_train = T_train;
t_test  = T_test;%%  数据转置
p_train = p_train'; p_test = p_test';
t_train = t_train'; t_test = t_test';%%  参数设置
fun = @getObjValue;                 % 目标函数
dim = 3;                            % 优化参数个数
lb  = [001, 001, 0.01];             % 优化参数目标下限(最大迭代次数,深度,学习率)
ub  = [ 50, 012,  0.1];             % 优化参数目标上限(最大迭代次数,深度,学习率)

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/128163536?spm=1001.2014.3001.5502
[2] https://blog.csdn.net/kjm13182345320/article/details/128151206?spm=1001.2014.3001.5502

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

发动机燃烧仿真|CMCL填补CFD与0维/1维均质反应模型方法间的空白

发动机的研制涉及空气动力、燃烧传热、自动控制等多方面的问题。相比基于物理样机试验的传统涉及方法,数值模拟仿真设计方法大大地节约了研发成本、缩短了研发周期。 对于发动机一维概念设计,CMCL燃烧仿真解决方案可以帮助用户快速准确实现点火、熄火、…

什么是AI绘画?全网最细stable diffusion工作原理讲解!

前言 (这篇文章是给那些打算接触AI绘画和还不太了解的人写的)什么是AI绘画?什么配置才能AI绘画?要怎样部署文件、输入咒语?你是否有着这样的疑问,在这个系列我会写一下我近一个多月的学习成果,…

hypernetwork在SD中是怎么工作的

大家在stable diffusion webUI中可能看到过hypernetwork这个词,那么hypernetwork到底是做什么用的呢? 简单点说,hypernetwork模型是用于修改样式的小型神经网络。 什么是 Stable Diffusion 中的hypernetwork? Hypernetwork 是由…

JavaWeb系列十二: 服务器端渲染技术(JSP) 上

跟着韩老师学java 1. JSP基本介绍1.1 JSP快速入门1.2 JSP(Java Server Pages)运行原理1.3 page指令介绍1.4 JSP脚本1.4.1 声明脚本1.4.2 表达式脚本1.4.3 java代码脚本 1.5 jsp注释1.6 jsp内置对象1.7 JSP四大域对象1.7.1 域对象实例1.7.2 注意事项 1.8 JSP请求转发标签1.9 作业…

MYSQL 将某个字段赋值当前时间

如 我们需要将use_time 赋值为当前时间: 准备三条数据 : 执行sql ,2种当前时间赋值函数,1种关键字赋值 : update test_info SET use_timeNOW() WHERE id 1; update test_info SET use_timeCURRENT_TIMESTAMP() …

基于飞腾腾云S2500的ATS部署及调优指南(反向代理篇)

【写在前面】 飞腾开发者平台是基于飞腾自身强大的技术基础和开放能力,聚合行业内优秀资源而打造的。该平台覆盖了操作系统、算法、数据库、安全、平台工具、虚拟化、存储、网络、固件等多个前沿技术领域,包含了应用使能套件、软件仓库、软件支持、软件适…

场外期权一级交易商都有哪些?和二级交易商有什么区别?

今天带你了解场外期权一级交易商都有哪些?和二级交易商有什么区别?目前,个人投资者无法直接进行场外个股期权投资,而是需要通过专业机构进行询价交易下单。 场外期权业务一级交易商分别为,广发证券、国泰君安、华泰证…

Java学习笔记(一)Java内容介绍、程序举例、DOS命令、Java跨平台特性的本质、课后练习

Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介绍Java内容介绍、程序举例、DOS命令、Java跨平台特性的本质还有几道课后练习详细介绍以及部分理论知识 🍉欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁 🍉博主收将持续更新学习记录获,友友们有任何问题可以在评论区留言 …

中小学校共用电脑通过安当SLA产品配置实现开机控制

中小学校公用电脑实现电脑开机控制的必要性主要体现在以下几个方面: 1. 增强安全性: 公用电脑由于使用频繁,容易被未经授权的用户访问,可能存在数据泄露或恶意软件植入的风险。通过实现电脑开机控制,学校可以确保只有…

【jdk】jdk11 jdk17 jdk21的新特性

前言:按照博主的个人理解,一般来说 除了jdk8时代 说jdk8的新特性是特指jdk8这一个版本的特性,之后例如jdk11 jdk17新特性 都是泛特性 什么意思呢? 比如jdk11新特性,一般是指jdk9——jdk11 这一个泛版本的所有新特性&am…

加速度传感器采集时无效数据的产生及消除

1.现象 这是振动传感器的原始采样信号,它有一个明显的上升沿,这个上升沿,看时间轴标尺,大概持续了至少50ms,它是从哪里来的呢? 加速度传感器一般是由恒流源驱动的。而恒流源的原始电源输入是个经由电源模…

RabbitMQ使用交换机进行消息转发

使用交换机进行转发到队列 第一步:创建队列 第二步:创建交换机 第三步:交换机绑定队列 第四步:修改消息生产者发送业务 第五步:修改消息接收者业务代码 RabbitListener(queues "fanout.queue1")public vo…

linux服务器没外网源码安装glibc-2-28

linux服务器没外网源码安装glibc-2-28 所需源码包,其中gcc文件夹不需要,其它tar包都需要 tar.gz的解压方式 #tar -zxvf 包名 tar.xz的解压方式 #tar -xf 包名 全部解压完成后 安装顺序请按照下方顺序操作(wget后面是下载地址&#xff…

码云建仓库

1.新建仓库 码云地址 打开 码云地址 ,点击“”,新建仓库,添加仓库内容 ,创建。 小提示:如果本地已有项目,就不要选初始化,设置模板,容易冲突。 2. 进入当前仓库页 小提示&#x…

决定马萨诸塞州版图的关键历史事件

决定马萨诸塞州版图的关键历史事件: 1. 早期探索与*民定居:17世纪初,英国清教徒为寻求宗教自由,乘坐“五月花号”到达新大陆,并于1620年在现在的普利茅斯建立了第一个永久性英国*民地。随后,更多的英国*民…

微软NVIDIA讲师直播讲解:探索LLM大模型的小型化 —— 小模型在NVIDIA Jetson 与 NIM 平台的最佳实践

Webinar主题:探索LLM大模型的小型化 —— 小模型在NVIDIA Jetson 与 NIM 平台的最佳实践 时间:6月25号 晚8点-9点 时长:1h 活动形式:线上 点击链接报名本次在线研讨会:https://www.nvidia.cn/webinars/sessions/?s…

开发大模型应用,到底使用RAG还是微调?我们应该从哪些方面考虑?

现在基于大模型开发应用时,相信很多人都有这种疑问,到底对大模型进行微调还是外接RAG呢?因为两者在一定层面上有很多相似的地方,下面让我给大家从各个层面进行分析,结合具体的业务场景,看哪种方式更适合你的…

一款轻量级的WPF UI库---Adonis UI

Adonis UI适用于 WPF 应用程序的轻型 UI 工具包,提供经典但增强的 Windows 视觉对象 组件内容 几乎所有 WPF 控件的模板的默认样式为方便起见,可根据需要使用两种配色方案(浅色和深色),也可用于自定义样式支持在运行时更改配色方案支持其他自定义配色方案提供水印等功能的…

硬盘监控和分析工具:Smartctl

文章目录 1. 概述2. 安装3. 使用4. smartctl属性信息介绍 1. 概述 Smartctl(S.M.A.R.T 自监控,分析和报告技术)是类Unix系统下实施SMART任务命令行套件或工具,它用于打印SMART自检和错误日志,启用并禁用SMRAT自动检测…

又一盛举,沃飞取得关键技术突破后,助力成都低空载人交通航线运行实践!

6月20日上午9点30分,随着塔台发出指令,一架载人直升飞机(阿古斯塔AW109型号)从洛带通用机场起飞,经停中国欧洲中心、青城山,最后稳稳落地回到洛带通用机场。当天下午,这架飞机再次转动旋翼&…