2024年新算法优化CATBOOST参数实现分类,MATLAB与Python魔幻联动

204ccaf9a1e6277adf04ebefbbe722fa.gif

加关注这种话

银家怎么好意思说出口嘛--


CatBoost 是俄罗斯Yandex 公司在2017年开发的基于GBDT 机器学习框架的机器学习库,自Catboost问世以来,因其训练速度快、准确率高而备受研究者的青睐。

然而,CatBoost开发人员只给出了python/R语言,目前网络上没有MATLAB版本。

首先不得不说,采用python语言实现CatBoost,确实是非常简单,网上的案例也非常多!但对于很多不太懂python语言的小伙伴,往往被Python繁琐的环境配置劝退!且MATLAB不论是在矩阵和向量运算的格式要求,还是运行速度上都具有更强的优势。最最重要的是,MATLAB不需要像Python那样繁琐的配置各种环境,这对于新手来说,是非常友好的。

其实,学会这一篇文章的调用手法,会给你打开一道新世界的大门。之后你还想采用MATLAB实现一些复杂的网络,只要python能实现的,那MATLAB就都能实现。该方法可以轻松避免Python环境配置繁琐的问题。

废话到此为止。


本期代码实现功能为:采用MATLAB语言调用python的Catboost模块,在MATLAB里边实现10种2024新算法和10种经典算法优化Catboost参数。

先说效果:本期代码采用的数据集为:四种音乐语音类特征数据,前面几期也经常用到该数据,采用其他分类器准确率最高的时候也就是93%左右,而本篇的CATBOOST能达到95%,不得不说,CATBOOST的性能确实强悍!

代码虽然调用了python模块,但是运行速度也是非常快的,放心使用!

本期优化的Catboost的四个重要参数分别为:(iterations,learning_rate,random_strength,depth)

当然,你要是想选择优化更多参数,可自行修改!代码可以支持优化的Catboost参数包含如下:

'iterations', 100,'learning_rate',0.01,'l2_leaf_reg',3,'bagging_temperature',0,'random_strength',2,'depth',6,'rsm',1,'one_hot_max_size',2,'leaf_estimation_method','Gradient','fold_len_multiplier',2,'border_count',128,

优化算法选择了10种2024最新算法和10种经典的优化算法。如下如所示:

359eabba02135b6a03a28066a3cebbf3.png

之所以选择这么多,也是想教会大家怎么方便快捷的替换自己想替换的算法。

为了方便修改智能优化算法,代码做了相应集成,示例:

H1 = 'HBA'; %!!!修改这里的算法名字即可更改算法!
eval(['[fMin , bestX, Convergence_curve ] =',H1,'(SearchAgents_no,Max_iter,lb,ub,dim,fobj);'])
%% 来自公众号《淘个代码》
% 可选:
% 'DBO','PSO','GWO','OOA','DE','SSA','BWO',','WOA',','HBA','GA';
% 以及10种2024新算法:
% GOOSE,鹅优化算法
% HLOA,角蜥蜴优化算法
% HO , 河马优化算法
% 鹦鹉优化算法 PO
% 鳑鲏鱼优化算法 BFO
% 冠豪猪优化算法 CPO
% 差异化创意搜索算法 DCS
% 黑翅鸢 BKA
% PID搜索算法 PSA
% 牛顿-拉夫逊优化算法算法 NRBO

只需要修改这里的H1变量,即可选择不同的智能优化算法,直呼不要太贴心!

而且,最关键的是,如果你想要再添加任何算法,只要在目录中添加一个算法的代码,在主脚本文件中修改这个算法名字即可。

数据集选择四类音乐语音特征信号,每一类有500个样本,一共有四类。数据的第一列为标签列,后面的24列为特征值。只要你的数据也是这样的形式,就很好替换!

c88749ae132785cc7a5db4a38b778e6c.png

一起看看代码效果吧!

标准CATBOOST分类结果:

a88c4857b253a540f5e3fc21101602f9.png

fd3ebd370e587f32ecb57b43c58bb511.png

麻雀算法优化CATBOOST分类为例,结果:

ad5d743ab69633da6ec852465da5bce4.png

e837819da1b2f8937e999e59e03b7c1f.png

137423f495b66445cc80ddbabe4b59a0.png

60be1a708a95740b50ad4b1e9d5c2734.png

对于本期使用的这个数据来说,95.3571%的精度已经相当高了!之前也推出过关于该数据的分类,一般的分类器也就值80~93%之间,像Catboost这样直接到95以上的分类器,实属罕见,足以看出其分类能力优秀!


关于matlab如何调用Python模块,代码包中有详细的文档解释,包教包会!绝对不会像配置python环境那样繁琐!本期推文的目的就是让小白也会运行此代码!

50fcb4f08136b595e753f6a9576bff89.png

 本文代码获取链接:

https://mbd.pub/o/bread/mbd-ZpWZlJhv

已将本文代码添加至机器学习分类全家桶

机器学习分类全家桶代码获取

https://mbd.pub/o/bread/ZZqUlpxv

部分下载不了的可以跳转浏览器或者用电脑即可!

或点击下方阅读原文获取此全家桶。


承诺此全家桶一次购买,永久更新!

之前购买过的小伙伴,直接复制代码链接重新下载即可。


e0830ad5e66bd456256043683ae9aa05.gif

Easily Search Code

  • 17
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
贝叶斯优化是一种用于优化机器学习模型超参数的方法,它通过不断地探索参数空间并根据之前的试验结果来选择下一个参数组合。在CatBoost分类模型中,贝叶斯优化被用来优化模型的性能。通过使用基于贝叶斯优化优化CatBoost分类模型,可以找到最佳的超参数组合,从而提高模型的准确性和性能。\[2\]贝叶斯优化的核心概念包括目标函数、单次试验和研究。目标函数定义了待优化的函数,并指定了参数的范围。单次试验是指目标函数的一次执行,而研究则负责管理优化过程,决定优化的方式和总试验次数,以及记录试验结果等功能。\[3\]通过贝叶斯优化CatBoost分类模型可以得到更好的性能和准确性。 #### 引用[.reference_title] - *1* *3* [Python实现基于Optuna超参数自动优化Catboost分类模型(CatBoostClassifier算法)项目实战](https://blog.csdn.net/weixin_42163563/article/details/128066765)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Python实现贝叶斯优化器(Bayes_opt)优化Catboost分类模型(CatBoostClassifier算法)项目实战](https://blog.csdn.net/weixin_42163563/article/details/129193521)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

今天吃饺子

不想刀我的可以选择爱我

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值