当前位置 : 主页 > 编程语言 > python >

【SVM分类】基于粒子群算法优化支持向量机实现葡萄酒数据分类附matlab代码

来源:互联网 收集:自由互联 发布时间:2022-06-15
1 简介 在机器学习领域,要处理的数据的规模越来越大,而学习算法在数据的特征过多的时候,往往会产生性能上的下降。作为解决这个问题的有效手段,特征选择一直以来都得到了广泛的关


1 简介

在机器学习领域,要处理的数据的规模越来越大,而学习算法在数据的特征过多的时候,往往会产生性能上的下降。作为解决这个问题的有效手段,特征选择一直以来都得到了广泛的关注。粒子群优化算法作为一种优化方法,具有较好的局部搜索能力,所以利用粒子群优化方法来解决特征选择问题成为一个研究热点。

粒子群优化的特征选择方法通过引导粒子的搜索进行特征选择,从而提高粒子群优化算法在特征选择问题中的搜索效率。本实验针对“wine”数据集,通过粒子群优化算法进行特征选择,并对特征选择后的数据进行SVM分类。将直接SVM分类的结果,和使用粒子群算法进行特征选择后再进行SVM分类的结果进行对比。对比两者的实验结果,结果表明使用粒子群优化算法进行特征选择能够提高SVM的分类精度。综上所述,所得的实验结果与预期结果一致。

2 部分代码

%% I. 清空环境
clc
clear
%% II. 声明全局变量
global data
data=xlsread('BreastCancer_data');
%% III. 参数初始化
c1 = 0.25;
c2 = 0.25;
maxgen = 16; % 进化次数
sizepop = 4; %种群规模
Vmax = 0.25;
Vmin = -0.25;
popmax = 1;
popmin = 0;
for m=1:9
if zbest(m)>=0.5
selection(n)=m;
n=n+1;
end
end
disp(['基于粒子群算法的SVM特征选择的结果为:特征 ',num2str(selection)]);
disp(['基于粒子群算法的SVM特征选择的分类准确率为:',num2str(fitnesszbest),'%']);
figure
plot(yy)
title('最优个体适应度','fontsize',12);
xlabel('进化代数','fontsize',12);ylabel('适应度','fontsize',12);

3 仿真结果

【SVM分类】基于粒子群算法优化支持向量机实现葡萄酒数据分类附matlab代码_特征选择

【SVM分类】基于粒子群算法优化支持向量机实现葡萄酒数据分类附matlab代码_特征选择_02

【SVM分类】基于粒子群算法优化支持向量机实现葡萄酒数据分类附matlab代码_优化算法_03

【SVM分类】基于粒子群算法优化支持向量机实现葡萄酒数据分类附matlab代码_特征选择_04

【SVM分类】基于粒子群算法优化支持向量机实现葡萄酒数据分类附matlab代码_优化算法_05

【SVM分类】基于粒子群算法优化支持向量机实现葡萄酒数据分类附matlab代码_粒子群_06

【SVM分类】基于粒子群算法优化支持向量机实现葡萄酒数据分类附matlab代码_特征选择_07

【SVM分类】基于粒子群算法优化支持向量机实现葡萄酒数据分类附matlab代码_粒子群_08

4 参考文献

[1]邹心遥, 陈敬伟, 姚若河. 采用粒子群优化的 SVM 算法在数据分类中的应用[J]. 华侨大学学报:自然科学版, 2016, 37(2):4.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

【SVM分类】基于粒子群算法优化支持向量机实现葡萄酒数据分类附matlab代码_粒子群_09

【SVM分类】基于粒子群算法优化支持向量机实现葡萄酒数据分类附matlab代码_特征选择_10

网友评论