本期采用10种2024年最新的智能优化算法实现特征选择,并同时优化XGBOOST参数。采用UCI数据集中的红酒数据进行实验。
目前网络上还没有人采用XGBOOST作为基分类器进行特征选择的。
利用本文方法水一篇小小的水刊还是绰绰有余(尤其是你如果有自己独有的数据)!
优化算法选择了10种2024最新算法和10种经典的优化算法。如下如所示:
之所以选择这么多,也是想教会大家怎么方便快捷的替换自己想替换的算法。
数据集选择UCI的红酒数据,格式也很简单,第一列为标签列,后面的为特征列,只要你的数据也整理成这样,就很方便替换数据!如下图所示
可以看到,该数据包含了13个特征数,一共有178个样本,3种类别。
关于特征选择的一些文献
[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次)
特征选择也称为特征子集选择或属性选择,它是机器学习中分类、回归和数据挖掘中至关重要的预处理步骤,特征选择的目的是利用一种选择方法删除数据集中冗余和不相关的特征,以找到最优特征子集。它不仅能降低数据维度、提高机器学习算法的效率,还能从原始数据集中选出对分类器分类性能最有用的特征,提高其分类精度。
本次代码贴心整理了两个大分类,一个是只优化特征选择的,一个是优化特征选择的同时还优化XGBOOST参数。代码中可以自由修改算法!
代码功能介绍
为了方便修改智能优化算法,代码做了相应集成,示例:
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变量,即可选择不同的智能优化算法,直呼不要太贴心!
而且,最关键的是,如果你想要再添加任何算法,只要在目录中添加一个算法的代码,在主脚本文件中修改这个算法名字即可。
最后来一起看看代码效果吧!
特征选择-XGBOOST分类(不优化XBOOST参数)结果:
特征选择-XGBOOST分类(同时优化XBOOST参数)结果:
本文代码获取链接:
点击下方卡片获取代码。