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

多输入多输出 | Matlab实现XGboost多输入多输出预测

多输入多输出 | Matlab实现XGboost多输入多输出预测

目录

    • 多输入多输出 | Matlab实现XGboost多输入多输出预测
      • 预测效果
      • 基本介绍
      • 程序设计
      • 往期精彩
      • 参考资料

预测效果

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

基本介绍

Matlab实现XGboost多输入多输出预测
1.data为数据集,10个输入特征,3个输出变量。
2.main.m为主程序文件。
3.命令窗口输出MBE、MAE和R2,可在下载区获取数据和程序内容。

程序设计

  • 完整程序和数据下载方式:私信博主回复MMatlab实现XGboost多输入多输出预测
function Yhat = xgboost_test(p_test, model)%%  读取模型
h_booster_ptr = model.h_booster_ptr;%%  得到输入数据相关属性
rows = uint64(size(p_test, 1));
cols = uint64(size(p_test, 2));
p_test = p_test'; %%  设置必要的指针
h_test_ptr = libpointer;
h_test_ptr_ptr = libpointer('voidPtrPtr', h_test_ptr);
test_ptr = libpointer('singlePtr', single(p_test));
calllib('xgboost', 'XGDMatrixCreateFromMat', test_ptr, rows, cols, model.missing, h_test_ptr_ptr);%%  预测
out_len_ptr = libpointer('uint64Ptr', uint64(0));
f = libpointer('singlePtr');
f_ptr = libpointer('singlePtrPtr', f);
calllib('xgboost', 'XGBoosterPredict', h_booster_ptr, h_test_ptr, int32(0), uint32(0), int32(0), out_len_ptr, f_ptr);%%  提取预测
n_outputs = out_len_ptr.Value;
setdatatype(f, 'singlePtr', n_outputs);%%  得到最终输出
Yhat = double(f.Value);end

往期精彩

MATLAB实现RBF径向基神经网络多输入多输出预测
MATLAB实现BP神经网络多输入多输出预测
MATLAB实现DNN神经网络多输入多输出预测

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/116377961
[2] https://blog.csdn.net/kjm13182345320/article/details/127931217
[3] https://blog.csdn.net/kjm13182345320/article/details/127894261

http://www.lryc.cn/news/338488.html

相关文章:

  • 【设计模式】3、builder 建造者模式
  • 使用ROCm的HIP API向量加法程序
  • Vue3---基础7(Props)
  • 第一节:什么是操作系统
  • Day:007(1) | Python爬虫:高效数据抓取的编程技术(scrapy框架使用)
  • Echarts使用dataTool写可自定义横坐标的盒须图(箱线图)
  • SpringBoot编写一个SpringTask定时任务的方法
  • 【Qt编译】ARM环境 Qt5.14.2-QtWebEngine库编译 (完整版)
  • vue简单使用二(循环)
  • JavaScript入门--变量
  • 给自己的机器人部件安装单目摄像头并实现gazebo仿真功能
  • 用AI的视角看世界
  • MATLAB 自定义实现点云法向量和曲率计算(详细解读)(64)
  • 拯救鲨鱼!Helping wireshark!wireshark未响应解决方法
  • 设计模式之责任链讲解
  • K8s: 将一个节点移出集群和相关注意事项
  • Python学习笔记24 - 学生信息管理系统
  • 【物联网应用案例】某制造企业电锅炉检测项目
  • 设计模式实践
  • 嵌入式学习52-ARM1
  • Java(MySQL基础)
  • 预约系统的使用
  • 酷开科技OTT大屏营销:开启新时代的营销革命
  • 网络安全(防火墙,IDS,IPS概述)
  • 安装IntelliJ IDEA插件教程
  • 大厂基础面试题(之四)
  • 为什么我们应该切换到Rust
  • 基于Linux定时任务实现的MySQL周期性备份
  • 【Altium Designer 20 笔记】隐藏PCB上的信号线(连接线)
  • 【Git教程】(九)版本标签 —— 创建、查看标签,标签的散列值,将标签添加到日志输出中,判断标签是否包含特定的提交 ~