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

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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}
}

About

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

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


Languages

Language:MATLAB 100.0%