【MATLAB第9期】基于MATLAB的xgboost算法安装超详细教学(踩坑避雷指南)暂时仅限于Windows系统 #末尾含源码获取链接

简介: 【MATLAB第9期】基于MATLAB的xgboost算法安装超详细教学(踩坑避雷指南)暂时仅限于Windows系统 #末尾含源码获取链接

1.前言


网上基于MATLAB的xgboost源码资源太少了,而且找到的工具箱还不能立马用,对新手不太友好,接下来我将研究捣鼓半天的成果和经验分享给大家。


2.安装具备条件


1.有matlab软件,版本越高越好,我用的是2020a。

2.有matlab账号,需要去下载xgboost工具箱。

3.电脑可以连外网(这个绝大部分人比较难做到)


3.安装步骤


1.登录matlab社区网站

https://ww2.mathworks.cn/matlabcentral/fileexchange/

2.账号注册

3.下载工具箱

工具箱下载到一个自定义文件,路径越简单越好。

4.打开MATLAB软件

5.修改代码路径


6.下载wheel file文件(此处实现较麻烦,要用外网,有条件者可以尝试)

网址:https://s3-us-west-2.amazonaws.com/xgboost-nightly-builds/list.html

工具箱中是调用《xgboost-1.1.0+115e4c33608c3b0cee75402f1193e67fdb11ef9a-py3-none-win_amd64.whl》这个版本的whl文件。

针对windows64位系统,要注意下载后缀为win_amd64的文件,当然版本不需要严格用1.10的 ,用1.6版本的也可以,本文演示用1.2版本的whl文件

将whl文件下载到你的xgboost文件夹根目录里。

7.继续修改xgboost_install路径

8.下载xgboost.h代码


建议要把outfilename变量隐藏,这个代码可以生成xgboost.h文件,但是我的matlab无法访问。

这种情况下,用浏览器打开对应的url网址,正常情况下可以访问,得到一大段代码,其就是xgboost的c语言代码,可以整体复制下来。

然后新建脚本,粘贴代码

9.修改xgboost_train路径

10.继续修改xgboost_test路径

同上

11.安装matlab插件

12.右键运行xgboost_install

会多一个lib文件夹

然后把xgboost.h文件放在lib里

13.找到案例代码,试运行

打开xgboost_train

将这段代码复制下来。

新建main.m的主程序代码,将内容粘贴进去。

clear all
warning off
 load carsmall; Xtrain = [Acceleration Cylinders Displacement Horsepower MPG]; ytrain = cellstr(Origin); ytrain = double(ismember(ytrain,'USA'));
X = Xtrain(1:70,:); y = ytrain(1:70); Xtest = Xtrain(size(X,1)+1:end,:); ytest = ytrain(size(X,1)+1:end);
 model_filename = []; model = xgboost_train(X,y,[],999,'AUC',model_filename); %%% model_filename = 'xgboost_model.xgb'
 loadmodel = 0; Yhat = xgboost_test(Xtest,model,loadmodel);
 [XX,YY,~,AUC] = perfcurve(ytest,Yhat,1);
figure; plot(XX,YY,'LineWidth',2); xlabel('False positive rate'); ylabel('True positive rate'); title('ROC for Classification by Logistic Regression'); grid on
figure; scatter(Yhat,ytest + 0.1*rand(length(ytest),1)); grid on

最后右键main运行

运行成功~

4.源码获取

如果你无法连接外网下载whl文件,以及xgboost.h文件,我这里可以分享相应资源,并包含用xgboost进行回归预测的代码。点击下方获取链接,即可下载。

获取链接

运行展示如下:

最后是想说整理不易,目前网上很少有介绍如何去安装matlab的xgboost算法工具箱的文章,如果本文对你有帮助,希望能够捧个场,感谢~




相关文章
|
23天前
|
Windows
如何查看自己电脑的windows系统版本?
这篇文章提供了一种简单快捷的方法来查看自己电脑的Windows系统版本,通过使用Windows的"运行"功能并输入`winver`命令来快速获取系统版本信息。
如何查看自己电脑的windows系统版本?
|
18天前
|
存储 Web App开发 调度
Windows系统新手教程:常见操作命令帮你玩转电脑
Windows系统新手教程:常见操作命令帮你玩转电脑
57 5
|
19天前
|
Linux 网络虚拟化 Windows
ccproxy windows上用的代理软件(类似linux系统上的squid)
ccproxy windows上用的代理软件(类似linux系统上的squid)
|
27天前
|
安全 Windows
【Azure 云服务】当Windows系统发布新的安全漏洞后,如何查看Azure云服务(Cloud Service)的实例是否也更新了安全补丁呢?
【Azure 云服务】当Windows系统发布新的安全漏洞后,如何查看Azure云服务(Cloud Service)的实例是否也更新了安全补丁呢?
|
27天前
|
消息中间件 Java Kafka
【Azure 事件中心】在Windows系统中使用 kafka-consumer-groups.bat 查看Event Hub中kafka的consumer groups信息
【Azure 事件中心】在Windows系统中使用 kafka-consumer-groups.bat 查看Event Hub中kafka的consumer groups信息
|
27天前
|
存储 安全 网络安全
【Azure 环境】使用Azure中的App Service部署Web应用,以Windows为主机系统是否可以启动防病毒,防恶意软件服务呢(Microsoft Antimalware)?
【Azure 环境】使用Azure中的App Service部署Web应用,以Windows为主机系统是否可以启动防病毒,防恶意软件服务呢(Microsoft Antimalware)?
|
27天前
|
存储 Linux 数据中心
【Azure 环境】在Windows系统中 使用Terraform创建中国区Azure资源步骤(入门级)
【Azure 环境】在Windows系统中 使用Terraform创建中国区Azure资源步骤(入门级)
|
15天前
|
算法 BI Serverless
基于鱼群算法的散热片形状优化matlab仿真
本研究利用浴盆曲线模拟空隙外形,并通过鱼群算法(FSA)优化浴盆曲线参数,以获得最佳孔隙度值及对应的R值。FSA通过模拟鱼群的聚群、避障和觅食行为,实现高效全局搜索。具体步骤包括初始化鱼群、计算适应度值、更新位置及判断终止条件。最终确定散热片的最佳形状参数。仿真结果显示该方法能显著提高优化效率。相关代码使用MATLAB 2022a实现。
|
15天前
|
算法 数据可视化
基于SSA奇异谱分析算法的时间序列趋势线提取matlab仿真
奇异谱分析(SSA)是一种基于奇异值分解(SVD)和轨迹矩阵的非线性、非参数时间序列分析方法,适用于提取趋势、周期性和噪声成分。本项目使用MATLAB 2022a版本实现从强干扰序列中提取趋势线,并通过可视化展示了原时间序列与提取的趋势分量。代码实现了滑动窗口下的奇异值分解和分组重构,适用于非线性和非平稳时间序列分析。此方法在气候变化、金融市场和生物医学信号处理等领域有广泛应用。
|
16天前
|
资源调度 算法
基于迭代扩展卡尔曼滤波算法的倒立摆控制系统matlab仿真
本课题研究基于迭代扩展卡尔曼滤波算法的倒立摆控制系统,并对比UKF、EKF、迭代UKF和迭代EKF的控制效果。倒立摆作为典型的非线性系统,适用于评估不同滤波方法的性能。UKF采用无迹变换逼近非线性函数,避免了EKF中的截断误差;EKF则通过泰勒级数展开近似非线性函数;迭代EKF和迭代UKF通过多次迭代提高状态估计精度。系统使用MATLAB 2022a进行仿真和分析,结果显示UKF和迭代UKF在非线性强的系统中表现更佳,但计算复杂度较高;EKF和迭代EKF则更适合维数较高或计算受限的场景。

热门文章

最新文章