✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
基于人工蜂群算法的数据特征选择方法,包括以下步骤:确定人工蜂群算法的控制参数,将获得的数据集进行预约归一化处理;初始化产生一组采蜜蜂位置,依据选择的特征选择适应度函数计算每一个采蜜蜂的适应度值,并将其对应的开采次数置为零;基于人工蜂群算法的更新方式,更新采蜜蜂位置,计算新个体的适应度值并更新其开采次数;计算选择概率模型函数,并选择一个采蜜蜂作为观察蜂,更新观察蜂位置,计算新个体的适应度值并更新其开采次数;观察开采次数,实施采蜜蜂位置更新机制;保留目前为止最优解位置,即代表最优特征子集;若达到最大迭代次数,则输出最优特征子集;否则重复以上步骤。
特征选择(特征子集选择)问题是各个领域重要的预处理阶段之一。在真实的数据集中,存在许多无用的无关、误导和冗余的特征。可以通过特征选择技术提取主要特征。特征选择属于NP-hard问题;因此,元启发式算法可用于解决该问题。引入了一种称为二进制多邻域人工蜂群(BMNABC)的新二进制 ABC,以增强 ABC 阶段的探索和开发能力。BMNABC 在第一阶段和第二阶段应用具有新概率函数的近邻和远邻信息。第三阶段比标准 ABC 更有意识地搜索那些在前几个阶段没有改进的解决方案。
⛄ 部分代码
global A trn vald SzW
SzW=0.01;
x=x>0.5;
x=cat(2,x,zeros(size(x,1),1));
x=logical(x);
if sum(x)==0
FitnessValue=inf;
return;
end
c = fitcknn(A(trn,x),A(trn,end),'NumNeighbors',5); %K=5
cpp = predict(c,A(vald,x));
cp = classperf(A(vald,end),cpp);
FitnessValue=(1-SzW)*(1-cp.CorrectRate)+SzW*sum(x)/(length(x)-1);
⛄ 运行结果
⛄ 参考文献
[1]巢秀琴, 李炜. 人工蜂群算法优化的特征选择方法[J]. 计算机科学与探索, 2019.
[2]葛宇, 梁静, 王学平,等. 改进人工蜂群算法求解多目标连续优化问题[J]. 计算机科学, 2014, 41(6):7.
Z. Beheshti,BMNABC:用于高维离散优化问题的二进制多邻域人工蜂群,Cybern。系统。49 (2018) 452–474。
⛄ 完整代码
❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料