↖加关注这种话
银家怎么好意思说出口嘛--
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种经典的优化算法。如下如所示:
之所以选择这么多,也是想教会大家怎么方便快捷的替换自己想替换的算法。
为了方便修改智能优化算法,代码做了相应集成,示例:
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列为特征值。只要你的数据也是这样的形式,就很好替换!
一起看看代码效果吧!
标准CATBOOST分类结果:
麻雀算法优化CATBOOST分类为例,结果:
对于本期使用的这个数据来说,95.3571%的精度已经相当高了!之前也推出过关于该数据的分类,一般的分类器也就值80~93%之间,像Catboost这样直接到95以上的分类器,实属罕见,足以看出其分类能力优秀!
关于matlab如何调用Python模块,代码包中有详细的文档解释,包教包会!绝对不会像配置python环境那样繁琐!本期推文的目的就是让小白也会运行此代码!
本文代码获取链接:
https://mbd.pub/o/bread/mbd-ZpWZlJhv
已将本文代码添加至机器学习分类全家桶
https://mbd.pub/o/bread/ZZqUlpxv
部分下载不了的可以跳转浏览器或者用电脑即可!
或点击下方阅读原文获取此全家桶。
承诺此全家桶一次购买,永久更新!
之前购买过的小伙伴,直接复制代码链接重新下载即可。
Easily Search Code