MATLAB调用Python工程实践,实现Lightgbm分类和最新优化算法参数寻优,同时优化特征选择,新意十足

发布于:2025-05-24 ⋅ 阅读:(11) ⋅ 点赞:(0)

上期推出了一篇: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列为特征值。只要你的数据也是这样的形式,就很好替换!

优化LightGBM参数的结果如下:

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

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

打印结果如下:

寻优曲线如下:

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

参考文献:

[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].

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

 本文代码获取链接:

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

或点击下方阅读原文获取。

代码清单:

或者复制链接跳转:https://docs.qq.com/sheet/DU3NjYkF5TWdFUnpu

网站公告

今日签到

点亮在社区的每一天
去签到