分类预测 | MATLAB实现SSA-FS-SVM麻雀算法同步优化特征选择结合支持向量机分类预测

分类预测 | MATLAB实现SSA-FS-SVM麻雀算法同步优化特征选择结合支持向量机分类预测

目录

    • [分类预测 | MATLAB实现SSA-FS-SVM麻雀算法同步优化特征选择结合支持向量机分类预测](#分类预测 | MATLAB实现SSA-FS-SVM麻雀算法同步优化特征选择结合支持向量机分类预测)

效果一览






基本介绍

MATLAB实现SSA-FS-SVM麻雀算法同步优化特征选择结合支持向量机分类预测(完整程序和数据)

SSA麻雀算法同步优化特征选择结合支持向量机分类预测,优化前后对比,基于LIBSVM。

程序设计

  • 完整程序和数据下载方式私信博主回复:MATLAB实现SSA-FS-SVM麻雀算法同步优化特征选择结合支持向量机分类预测
clike 复制代码
%%  麻雀参数设置
% 定义优化参数的个数,在该场景中,优化参数的个数为数据集特征总数 。
%目标函数
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]=SSA(pop,Max_iteration,lb,ub,dim,fobj); 
figure
plot(curve,'linewidth',1.5);
xlabel('迭代次数');
ylabel('适应度值');
title('收敛曲线');
grid on;

c = 2;  
g = 2; 
toc
% 用优化得到的特征进行训练和测试
cmd = ['-s 0 -t 2 ', '-c ', num2str(c), ' -g ', num2str(g), ' -q'];
model = libsvmtrain(train_wine_labels, train_wineNew, cmd);
test_wineNew = test_wine(:,B);
%% SVM网络预测
[predict_labelTrain, accuracyTrain,~] = libsvmpredict(train_wine_labels, train_wineNew, model);
[predict_labelTest, accuracyTest,~] = libsvmpredict(test_wine_labels, test_wineNew, model);

%% 基础SVM预测结果
% 用优化得到的特征进行训练和测试
cmd = ['-s 0 -t 2 ', '-c ', num2str(c), ' -g ', num2str(g), ' -q'];
model = libsvmtrain(train_wine_labels, train_wine, cmd);
%% SVM网络预测
[predict_labelTrain1, accuracyTrain1,~] = libsvmpredict(train_wine_labels, train_wine, model);
[predict_labelTest1, accuracyTest1,~] = libsvmpredict(test_wine_labels, test_wine, model);%% 结果分析

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/128163536?spm=1001.2014.3001.5502

[2] https://blog.csdn.net/kjm13182345320/article/details/128151206?spm=1001.2014.3001.5502

相关推荐
正义的彬彬侠6 天前
《SMO算法 公式推导》9-72选择两个变量α1和α2其它固定 公式解析
人工智能·机器学习·支持向量机·svm·smo·线性不可分支持向量机
正义的彬彬侠8 天前
近似线性可分支持向量机的原理推导
人工智能·机器学习·支持向量机·svm·近似线性可分支持向量机
正义的彬彬侠8 天前
绘制近似线性可分支持向量机的分类边界和支持向量
人工智能·python·机器学习·支持向量机·分类·svm
正义的彬彬侠9 天前
《近似线性可分支持向量机的原理推导》 拉格朗日函数 公式解析
人工智能·机器学习·支持向量机·svm·近似线性可分支持向量机
正义的彬彬侠10 天前
什么是SMO算法
人工智能·算法·机器学习·支持向量机·svm·smo·线性不可分支持向量机
正义的彬彬侠10 天前
《近似线性可分支持向量机的原理推导》KKT(Karush-Kuhn-Tucker)条件 公式解析
人工智能·机器学习·支持向量机·svm·近似线性可分支持向量机
正义的彬彬侠13 天前
线性可分支持向量机的原理推导 9-29对偶可行性条件 公式解析
人工智能·机器学习·支持向量机·svm
正义的彬彬侠14 天前
线性可分支持向量机的原理推导 9-27拉格朗日乘子和不等式约束关系 公式解析
人工智能·机器学习·支持向量机·svm
正义的彬彬侠14 天前
什么是KKT 条件(Karush-Kuhn-Tucker 条件)
人工智能·机器学习·支持向量机·svm·kkt
正义的彬彬侠15 天前
线性可分支持向量机的原理推导 标准优化目标 公式解析
人工智能·机器学习·支持向量机·svm