Skip to content

JingweiToo/Whale-Optimization-Algorithm-for-Feature-Selection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Whale Optimization Algorithm for Feature Selection

View Whale Optimization Algorithm for Feature Selection on File Exchange License GitHub release

Wheel

Introduction

  • This toolbox offers a Whale Optimization Algorithm ( WOA ) method
  • The Main script illustrates the example of how WOA can solve the feature selection problem using benchmark dataset

Input

  • feat : feature vector ( Instances x Features )
  • label : label vector ( Instances x 1 )
  • N : number of whales
  • max_Iter : maximum number of iterations

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; 

% Whale Optimization Algorithm
[sFeat,Sf,Nf,curve] = jWOA(feat,label,N,max_Iter,HO);

% Accuracy
Acc = jKNN(sFeat,label,HO); 
fprintf('\n Accuracy: %g %%',Acc); 

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

Requirement

  • MATLAB 2014 or above
  • Statistics and Machine Learning Toolbox

Cite As

@article{too2021spatial,
  title={Spatial bound whale optimization algorithm: an efficient high-dimensional feature selection approach},
  author={Too, Jingwei and Mafarja, Majdi and Mirjalili, Seyedali},
  journal={Neural Computing and Applications},
  pages={1--22},
  year={2021},
  publisher={Springer}
}