基于特征选择的二元蜻蜓算法(Matlab代码实现)
🍒🍒🍒欢迎关注🌈🌈🌈
📝个人主页:我爱Matlab
👍点赞➕评论➕收藏 == 养成习惯(一键三连)🌻🌻🌻🍌希望大家多多支持🍓~一起加油 🤗
💬语录:将来的我一定会感谢现在奋斗的自己!
🍁🥬🕒摘要🕒🥬🍁
特征选择是模式识别的关键问题之一,特征选择结果的好坏直接影响着分类器的分类精度和泛化性能。
蜻蜓算法(DA)是一种通过模拟自然界中蜻蜓种群觅食和迁徙行为而设计的求解全局优化问题的新型元启发算法,具有实现简单、调优参数少、收敛时间短等特点,广泛应用于各领域优化不同问题。本文根据DA易过早收敛的缺点,分别从增加改进策略和混合其他搜索算法的角度给出解决方法。
✨🔎⚡运行结果⚡🔎✨
💂♨️👨🎓Matlab代码👨🎓♨️💂
%-------------------------------------------------------------------%
% Binary Dragonfly Algorithm (BDA) demo version %
%-------------------------------------------------------------------%
%---Inputs-----------------------------------------------------------
% feat : feature vector (instances x features)
% label : label vector (instances x 1)
% N : Number of dragonflies
% max_Iter : Maximum number of iterations
%---Outputs-----------------------------------------------------------
% sFeat : Selected features
% Sf : Selected feature index
% Nf : Number of selected features
% curve : Convergence curve
%---------------------------------------------------------------------
%% Binary Dragonfly Algorithm
clc; clear; close
% Benchmark data set
load ionosphere.mat;
% Set 20% data as validation set
ho = 0.2;
% Hold-out method
HO = cvpartition(label,'HoldOut',ho,'Stratify',false);
% Parameter setting
N = 10;
max_Iter = 100;
% Perform feature selection
[sFeat,Sf,Nf,curve] = jBDA(feat,label,N,max_Iter,HO);
% Accuracy
Acc = jKNN(sFeat,label,HO);
% Plot convergence curve
plot(1:max_Iter,curve);
xlabel('Number of Iterations');
ylabel('Fitness Value');
title('BDA'); grid on;
📜📢🌈参考文献🌈📢📜
[1]池建华,蔡延光,李俊奕,李立欣,陈子恒,苏锦明.蜻蜓算法研究综述[J].自动化与信息工程,2022,43(03):7-14.
相关文章
- Matlab中针对R2019b 对函数优先顺序的更改更新代码
- Matlab中whos的用法
- [matlab] 6.粒子群优化算法
- 【prony】基于prony算法的参数辨识matlab仿真
- 【MATLAB教程案例22】基于MATLAB图像去噪算法仿真——中值滤波、高斯滤波以及频域滤波等
- 【MATLAB教程案例19】优化类算法的应用,如何针对不同问题选择不同的优化类算法
- 基于模拟退火的排队算法matlab仿真
- 分别使用BP神经网络和SVM支持向量机进行乳腺癌识别matlab仿真,输出识别率,召回率以及F1
- 基于RSSI定位算法的matlab仿真
- 基于GA优化的竞价博弈频谱分配算法的matlab仿真
- 基于Kinect深度图像采集和SLAM室内地图创建算法的matlab仿真
- 【免疫优化物流选址】基于MATLAB的免疫优化算法在物流配送中心选址中的应用仿真
- 【球形+汉明译码】基于球形汉明译码算法的MATLAB仿真
- 【GRNN情绪识别】基于GRNN神经网络的情绪识别算法matlab仿真
- 记录一个matlab仿真定点数处理算法时获取数据位宽的函数
- matlab rvctools工具使用说明
- 【Matlab算法】粒子群算法求解二维线性优化问题(附MATLAB代码)
- 【Matlab算法】粒子群算法求解一维非线性函数问题(附MATLAB代码)
- 【Matlab算法】粒子群算法求解一维线性函数问题(附MATLAB代码)
- 【Matlab算法】MATLAB求解背包问题(附MATLAB代码)
- 【Matlab算法】进退法迭代求解无约束一维极值问题(附进退法MATLAB代码)
- 基于MATLAB 多算法雷达一维恒虚警检测CFAR可视化界面【100010602】