多输入多输出 | Matlab实现基于LightGBM多输入多输出预测

多输入多输出 | Matlab实现基于LightGBM多输入多输出预测

目录

    • 多输入多输出 | Matlab实现基于LightGBM多输入多输出预测
      • 预测效果
      • 基本介绍
      • 程序设计
      • 参考资料

预测效果

在这里插入图片描述

基本介绍

Matlab实现基于LightGBM多输入多输出预测(完整源码和数据)
1.data为数据集,输入多个特征,输出多个变量。
2.main.m为程序主文件,其他为函数文件无需运行。
3.命令窗口输出MBE、MAE、RMSE、R^2和MAPE,可在下载区获取数据和程序内容。
注意程序和数据放在一个文件夹,运行环境为Matlab2018及以上。

程序设计

  • 完整源码和数据获取方式:私信博主回复Matlab实现基于LightGBM多输入多输出预测
%%  设置参数
parameters = containers.Map;
parameters('verbose') = 1;              % 可视化训练信息
parameters('task') = 'train';           % 训练模型
parameters('num_threads') = 1;          % 阈值
parameters('num_leaves') = 4;           % 叶子节点数
parameters('boosting_type') = 'gbdt';   % 设置提升类型
parameters('feature_fraction') = 0.9;   % 建树的特征选择比例
parameters('bagging_fraction') = 0.8;   % 建树的样本采样比例
parameters('objective') = 'regression'; % 回归任务

%%  训练网络
num_boost_round = 20;                   % 最大迭代次数
early_stopping_rounds = 5;              % 早停参数
[booster, bestIteration, metrics, metricNames] = train(pv_train, parameters, num_boost_round, pv_test, early_stopping_rounds);

%%  特征的重要性
importance = booster.importance;

%%  仿真测试
t_sim1 = booster.predictMatrix(p_train, bestIteration);
t_sim2 = booster.predictMatrix(p_test , bestIteration);

%%  数据转置
t_sim1 = t_sim1'; t_sim2 = t_sim2';

%%  数据反归一化
T_sim1 = mapminmax('reverse', t_sim1, ps_output);
T_sim2 = mapminmax('reverse', t_sim2, ps_output);

%%  均方根误差
error1 = sqrt(sum((T_sim1 - T_train).^2) ./ M);
error2 = sqrt(sum((T_sim2 - T_test ).^2) ./ N);

%%  绘制特征重要性
figure
bar(importance)
legend('重要性')
xlabel('特征')
ylabel('重要性')



参考资料

[1] https://blog.csdn.net/kjm13182345320/category_11003178.html?spm=1001.2014.3001.5482
[2] https://blog.csdn.net/kjm13182345320/article/details/117378431
[3] https://blog.csdn.net/kjm13182345320/article/details/118253644

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

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

相关文章

java多线程(线程池)

1、创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。 public static void main(String[] args) {ExecutorService cachedThreadPool Executors.newCachedThreadPool();for (int i …

npm换源

检查现在的源地址 npm config get registry 使用淘宝镜像 npm config set registry https://registry.npm.taobao.org 使用官方镜像 npm config set registry https://registry.npmjs.org/

安全帽/反光衣检测AI边缘计算智能分析网关V4如何修改IP地址?

智能分析网关V4是TSINGSEE青犀推出的一款AI边缘计算智能硬件,硬件采用BM1684芯片,集成高性能8核ARM A53,主频高达2.3GHz,INT8峰值算力高达17.6Tops,FB32高精度算力达到2.2T,硬件内置了近40种AI算法模型&…

Marin说PCB之关于1000 BASE-T1--ESD的处理知多少?

对于板子上的ESD器件想必大家做硬件或者是layout应该的不陌生吧,我们几乎遇到大部分板子上面的接口部分都会添加这个ESD器件,例如那些USB,MIPI接口,百兆/千兆-T1以太网连接器等。 其中T1连接器用的是罗森博格家的,在这个链路中有一…

关于企业微信客服,部署相关问题

从2023年12月1日0点起,不再支持通过系统应用secret调用接口,存量企业暂不受影响 查看详情 只能通过API管理企业指定的客服账号。企业可在管理后台“微信客服-通过API管理微信客服账号”处设置对应的客服账号通过API来管理。操作的客服账号对应的接待人员…

vue 解决el-table 表体数据发生变化时,未重新渲染问题

效果图父组件中数量改变后总数重新计算 子组件完整代码 <template><el-tableshow-summaryref"multipleTable"v-bind"$props"selection-change"handleSelectionChange"row-click"handleRowClick":summary-method"getSum…

C——语言内存函数

目录 一、memcpy的使用和模拟实现 1.memcpy函数原型 2.memcpy函数的使用 3.memcpy函数的模拟实现 二、memmove的使用和模拟实现 1.memmove函数原型 2.memmove函数的使用 3.memmove函数的模拟实现 三、memset的使用 1.memset函数原型 2.memset函数的使用 四、memcmp…

git仓库使用说明

Git软件使用 1.先下载git相关软件 下载地址&#xff1a; Git - Downloading Package (git-scm.com) 下载其中一个安装 2.打开gitee网站&#xff0c;注册账号 3.打开个人中心&#xff0c;选择ssh公钥&#xff0c;查看如何生成公钥 4.生成公钥后&#xff0c;添加相应的公钥 …

Flask框架小程序后端分离开发学习笔记《3》客户端向服务器端发送请求

Flask框架小程序后端分离开发学习笔记《3》客户端向服务器端发送请求 Flask是使用python的后端&#xff0c;由于小程序需要后端开发&#xff0c;遂学习一下后端开发。 一、为什么请求数据需要先编码 #构造一个HTTP请求 http_request GET / HTTP/1.1\r\nhost:{}\r\n\r\n.for…

昇思MindSpore技术公开课——第三课:GPT

1、学习总结 1.1Unsupervised Language Modelling GPT代表“生成预训练”&#xff08;Generative Pre-trained Transformer&#xff09;。GPT模型是由OpenAI公司开发的一种基于Transformer架构的人工智能语言模型。它在大规模文本数据上进行预训练&#xff0c;学习了丰富的语…

SpringMVC(全局异常处理.动态接收Ajax请求)

1.全局异常处理 1 异常处理器 基于AOP 用户发起请求, SpringMVC接受请求, SpringMVC加载静态资源问题说明 请求过去了,但没有处理 规则说明:静态资源进入SpringMVC框架之后,没有找到要怎样处理静态资源的方法,所以他们就不解决,也就不显示 解决方法:SpringMVC基于Servlet处理…

Go 中 slice 的 In 功能实现探索

文章目录 遍历二分查找map key性能总结 之前在知乎看到一个问题&#xff1a;为什么 Golang 没有像 Python 中 in 一样的功能&#xff1f;于是&#xff0c;搜了下这个问题&#xff0c;发现还是有不少人有这样的疑问。 补充&#xff1a;本文写于 2019 年。GO 现在已经支持泛型&am…

强化学习与监督学习【区别】

强化学习很强大&#xff0c;但是有大多数场景毫无使用它的必要&#xff0c;监督学习就够了。下面分析强化学习和监督学习的区别和强化学习有前景的应用。 目录 决策是否改变环境当前奖励还是长线回报总结 决策是否改变环境 监督学习假设模型的决策不会影响环境&#xff0c;而强…

CSS笔记II

CSS第二天笔记 复合选择器后代选择器子选择器并集选择器交集选择器伪类选择器 三大特性继承性层叠性优先级优先级-叠加计算规则 Emmet写法 背景属性背景图平铺方式位置缩放固定复合属性 显示模式转换显示模式 复合选择器 定义&#xff1a;由两个或多个基础选择器&#xff0c;通…

django电影推荐系统

电影推荐 启动 ./bin/pycharm.shdjango-admin startproject movie_recommendation_projectcd movie_recommendation_project/python manage.py movie_recommendation_apppython manage.py startapp movle_recommendation_applspython manage.py runserver Using the URLconf d…

vue3自定义按钮点击变颜色实现(多选功能)

实现效果图&#xff1a; 默认选中第一个按钮&#xff0c;未选中按钮为粉色&#xff0c;点击时颜色变为红色 利用动态类名&#xff0c;当定义isChange数值和下标index相同时&#xff0c;赋予act类名&#xff0c;实现变色效果 <template><div class"page"&…

Python-基础篇-类与对象/面向对象程序设计

文章目录 思维导图是何物类定义类&#x1f4da; class类的成员&#x1f4da;类的继承性&#x1f4da;封装性&#x1f4da;多态性 对象面向对象&#x1f4da;创建对象&#x1f4da;销毁对象&#x1f4da; 类和对象关系必背必记专业英语学习角 思维导图 是何物 类 “类”是物以…

基于面向对象的,C++实现二叉搜索树的一系列操作

1.树 树是由节点和边组成的一种可以表示数据的层次结构 根节点&#xff1a;树的最顶端的节点 叶节点&#xff1a;树的最底层的节点 子节点&#xff1a;通过边相连的位于下层的为子节点 父节点&#xff1a;通过边相连的位于上层的为父节点 层次&#xff1a;一个节点到根节点的距…

HashMap学习和线程安全的HashMap

HashMap的底层数据结构&#xff1f; HashMap在JDK1.8里面的Node数组加链表加红黑树&#xff0c;当链表长度大于8且数组长度大于64&#xff0c;链表转化为红黑树。当红黑树节点数小于6&#xff0c;红黑树转化为链表。在JDK1.7中是数组加链表。 为什么要用红黑树&#xff1f; 当…

【C语言】- 设置控制台文字颜色、大小和字体

【C语言】- 设置控制台标题、编码、文字颜色、大小和字体 文章目录 【C语言】- 设置控制台标题、编码、文字颜色、大小和字体1 - 设置控制台标题2 - 设置控制台编码3 - 设置控制台字体和大小参考链接 1 - 设置控制台标题 因为要用到 Windows API&#xff0c;所以需要包含头文件…