JingweiToo / Equilibrium-Optimizer-for-Feature-Selection

Application of Equilibrium Optimizer (EO) in the feature selection tasks.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Equilibrium Optimizer for Feature Selection

View Equilibrium Optimizer for Feature Selection on File Exchange License GitHub release

Wheel

Introduction

  • This toolbox offers an Equilibrium Optimizer ( EO ) method
  • The Main file illustrates the example of how EO can solve the feature selection problem using benchmark data-set.

Input

  • feat : feature vector ( Instances x Features )
  • label : label vector ( Instances x 1 )
  • N : number of particles
  • max_Iter : maximum number of iterations
  • a1 : Parameter
  • a2 : Parameter
  • GP : Generation rate control parameter

Output

  • sFeat : selected features
  • Sf : selected feature index
  • Nf : number of selected features
  • curve : convergence curve

Example

% 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;
a1       = 2;      % constant
a2       = 1;      % constant
GP       = 0.5;    % generation probability 

% Equilibrium Optimizer
[sFeat,Sf,Nf,curve] = jEO(feat,label,N,max_Iter,a1,a2,GP,HO);

% Plot convergence curve
plot(1:max_Iter,curve);
xlabel('Number of iterations');
ylabel('Fitness Value');
title('EO'); grid on;

Requirement

  • MATLAB 2014 or above
  • Statistics and Machine Learning Toolbox

Cite As

@article{too2020general,
  title={General Learning Equilibrium Optimizer: A New Feature Selection Method for Biological Data Classification},
  author={Too, Jingwei and Mirjalili, Seyedali},
  journal={Applied Artificial Intelligence},
  pages={1--17},
  year={2020},
  publisher={Taylor \& Francis}
}

About

Application of Equilibrium Optimizer (EO) in the feature selection tasks.

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:MATLAB 100.0%