读完需要
速读仅需 2 分钟
请尊重原创劳动成果
转载请注明本文链接
及文章作者:机器学习之心
摘要:精度提升!特征选择+分类预测!FA-FS-SVM萤火虫算法同步优化特征选择结合支持向量机分类预测
1
基本介绍
1.Matlab实现FA-FS-SVM萤火虫算法同步优化特征选择结合支持向量机分类预测(完整程序和数据)精度提升!特征选择+分类预测!FA-FS-SVM萤火虫算法同步优化特征选择结合支持向量机分类预测
2.FA 算法即是模拟萤火虫的这种行为而提出的群体智能算法。FA 算法同步优化特征选择结合支持向量机分类预测,优化前后对比,基于LIBSVM。
3.程序语言为matlab,运行环境matlab2020b及以上。
4.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。
购买后可加博主QQ1153460737咨询交流。注意:其他非官方渠道购买的盗版代码不含模型咨询交流服务,大家注意甄别,谢谢。
2
数据集
2.2
运行效果
完整代码链接:https://mbd.pub/o/bread/mbd-ZpuVmplu
也可扫描二维码:
3
%% 数据预处理
% 数据预处理,将训练集和测试集归一化到[0,1]区间
[mtrain,ntrain] = size(train_wine);
[mtest,ntest] = size(test_wine);
dataset = [train_wine;test_wine];
% mapminmax为MATLAB自带的归一化函数
[dataset_scale,ps] = mapminmax(dataset',0,1);
dataset_scale = dataset_scale';
train_wine = dataset_scale(1:mtrain,:);
test_wine = dataset_scale( (mtrain+1):(mtrain+mtest),: );
%% 智能算法优化SVM训练,若使用网络训练将这部分与下面优化部分删除即可。
tic
%% 萤火虫参数设置
% 定义优化参数的个数,在该场景中,优化参数的个数为数据集特征总数 。
%目标函数
fobj = @(x) fun(x,train_wine_labels,train_wine,test_wine_labels,test_wine);
% 优化参数的个数 特征维度
dim = size(train_wine,2); %特征维度
% 优化参数的取值下限,[0,1],大于0.5为选择该特征,小于0.5为不选择该特征
lb = 0;
ub = 1;
%% 参数设置
pop =10; %数量
Max_iteration=50;%最大迭代次数
%% 优化(这里主要调用函数)
[Best_score,Best_pos,curve]=FA(pop,Max_iteration,lb,ub,dim,fobj);
figure
plot(curve,'linewidth',1.5);
xlabel('迭代次数');
ylabel('适应度值');
title('收敛曲线');
grid on;
嗯,细心的你会发现:https://mbd.pub/o/slowtrain/work
博客专家认证,机器学习领域创作者,2023博客之星TOP50,主做机器学习和深度学习时序、回归、分类、聚类和降维等程序设计和案例分析。
技术交流群:购买博主任意代码或分享博主博文到任意三方平台后即可添加博主QQ进群