MATLAB调用Python实现Lightgbm分类,10种2024算法参数寻优,同时优化特征选择,新意十足

作品简介

https://mp.weixin.qq.com/s?__biz=MzkyNDUwMjc3Mg==&mid=2247488840&idx=1&sn=16794d036278607be8677a8d3567d526&chksm=c1d58ad3f6a203c5d166076a82523d20a189521b8ef6d3ef143535fbe8bbbcd437df63b6bc83#rd

上期推出了一篇:2024年新算法优化CATBOOST参数实现分类,MATLAB与Python魔幻联动

上期文章提到,学会MATLAB调用python模块,你就会打开一扇新世界的大门,凡是python有的机器学习方法,很轻松就可以在MATLAB实现,且运行速度不弱于Python。

至于这样做有什么好处呢?作者认为好处有4(或许更多):

  • 1.MATLAB语言相较于Python不用配置环境,适合新手;
  • 2.有很多新的智能算法只有MATLAB版本,没有Python版本,在结合机器学习算法调优时更方便;
  • 3.Matlab语言在数据处理,矩阵运算方面更为简单。
  • 4.或许还会有小伙伴用到simulink的,那这时候就非MATLAB不行了。

本期再次验证一下这种调用手法,采用MATLAB调用Py的Lightgbm模块,并实现多种2024新算法对其参数寻优。除此之外,本期代码还实现了优化Lightgbm参数的同时进行特征选择的优化,可谓是满满的创新了!

LightGBM算法是2017年发布的高效分布式梯度提升树算法。相较于其他的改进决策树算法,其特点是运行速度快、准确率高。


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

本期优化的LightGBM的四个重要参数分别为:

'learning_rate', 'n_estimators', 'max_depth',  'min_child_samples'.)

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

之所以选择这么多,也是想教会大家怎么方便快捷的替换自己想替换的算法。代码修改非常方便,直接改函数名字即可!


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

image.png

优化LightGBM参数的结果如下:

image.png

优化LightGBM参数并同时进行特征选择的结果如下:

不懂为什么要进行特征选择的小伙伴可以看这篇文章:10种2024新算法实现特征选择同时优化XGBOOST参数分类,这里不在赘述。

image.png

打印结果如下:

image.png

寻优曲线如下:

image.png


可以看到,加入特征选的功能,无疑会提升诊断精度。


参考文献:

[1]叶雨彬,韦文山.基于多策略融合鹈鹕优化算法的特征选择方法[J/OL].微电子学与计算机,2023,(12):19-25[2024-03-05].

[2]徐明,龙文.基于多策略融合灰狼优化算法的特征选择方法[J].科学技术与工程,2021,21(20):8544-8551.

[3]Tao Z, Huiling L, Wenwen W, et al. GA-SVM based feature selection and parameter optimization in hospitalization expense modeling[J]. Applied soft computing, 2019, 75: 323-332.(JCR1区,被引次数:217次)

[4]陈思勤,周浩豪,茅大钧.基于改进GWO-LightGBM的磨煤机故障预警方法研究[J].自动化仪表,2024,45(02):106-110+115.DOI:10.16086/j.cnki.issn1000-0380.2023010058.

[5]吴亚钧,王璐,张金江.基于IDBO-LightGBM的光伏阵列故障诊断方法[J/OL].电源学报,1-15[2024-05-08].


创作时间: