- This toolbox offers a Particle Swarm Optimization (PSO) method
- The
Main
file illustrates the example of how PSO can solve the feature selection problem using benchmark data-set.
feat
: feature vector ( Instances x Features )label
: label vector ( Instances x 1 )N
: number of particlesmax_Iter
: maximum number of iterationsc1
: Cognitive factorc2
: Social factorw
: Inertia weight
sFeat
: selected featuresSf
: selected feature indexNf
: number of selected featurescurve
: convergence curve
% Benchmark data set
load ionosphere.mat;
% Set 20% data as validation set
ho = 0.2;
% Hold-out method
HO = cvpartition(label,'HoldOut',ho);
% Parameter setting
N = 10;
max_Iter = 100;
c1 = 2; % cognitive factor
c2 = 2; % social factor
w = 1; % inertia weight
% Particle Swarm Optimization
[sFeat,Sf,Nf,curve] = jPSO(feat,label,N,max_Iter,c1,c2,w,HO);
% Plot convergence curve
plot(1:max_Iter,curve);
xlabel('Number of iterations');
ylabel('Fitness Value');
title('PSO'); grid on;
- MATLAB 2014 or above
- Statistics and Machine Learning Toolbox