Skip to content

A new feature selection algorithm, named as Binary Atom Search Optimization (BASO) is applied for feature selection tasks.

License

Notifications You must be signed in to change notification settings

JingweiToo/Binary-Atom-Search-Optimization-for-Feature-Selection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Binary Atom Search Optimization for Feature Selection

View Binary Atom Search Optimization for Feature Selection on File Exchange License GitHub release

Wheel

Introduction

  • This toolbox offers a Binary Atom Search Optimization ( BASO )
  • The Main file illustrates the example of how BASO 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 atoms
  • max_Iter : maximum number of iterations
  • alpha : depth weight
  • beta : multiplier weight

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; 
alpha    = 50; 
beta     = 0.2; 
% Binary Atom Search Optimization
[sFeat,Sf,Nf,curve] = jBASO(feat,label,N,max_Iter,alpha,beta,HO);

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

Requirement

  • MATLAB 2014 or above
  • Statistics and Machine Learning Toolbox

Cite As

@article{too2020binary,
  title={Binary atom search optimisation approaches for feature selection},
  author={Too, Jingwei and Rahim Abdullah, Abdul},
  journal={Connection Science},
  pages={1--25},
  year={2020},
  publisher={Taylor \& Francis}
}