A novel hybrid BPSO–SCA approach for feature selection

Nature is a great source of inspiration for solving complex problems in real-world. In this paper, a hybrid nature-inspired algorithm is proposed for feature selection problem. Traditionally, the real-world datasets contain all kinds of features informative as well as non-informative. These features not only increase computational complexity of the underlying algorithm but also deteriorate its performance. Hence, there an urgent need of feature selection method that select an informative subset of features from high dimensional without compromising the performance of the underlying algorithm. In this paper, we select an informative subset of features and perform cluster analysis by employing a cross breed approach of binary particle swarm optimization (BPSO) and sine cosine algorithm (SCA) named as hybrid binary particle swarm optimization and sine cosine algorithm (HBPSOSCA). Here, we employ a V-shaped transfer function to compute the likelihood of changing position for all particles. First, the effectiveness of the proposed method is tested on ten benchmark test functions. Second, the HBPSOSCA is used for data clustering problem on seven real-life datasets taken from the UCI machine learning store and gene expression model selector. The performance of proposed method is tested in comparison to original BPSO, modified BPSO with chaotic inertia weight (C-BPSO), binary moth flame optimization algorithm, binary dragonfly algorithm, binary whale optimization algorithm, SCA, and binary artificial bee colony algorithm. The conducted analysis demonstrates that the proposed method HBPSOSCA attain better performance in comparison to the competitive methods in most of the cases.


Introduction
The high dimensionality of the feature space is a major concern in today's day. Usually, there are so many irrelevant and redundant features in the datasets. These features not only increase computational complexity but also deteriorate performance of the underlying algorithms. Therefore, feature selection is necessary to improve the clustering performance, especially for data sets having very large dimensions. With respect to different selection strategies, feature selection methods are broadly categorized into two categories: Filter Methods and wrapper Methods.
Filter methods (Michaud 1997;Keogh and Mueen 2011;Yang et al. 2015) are classifier independent features. It uses a statistical measure to assign a relevance score to each feature. The computed score is used to rank the features. Here, the user-defined criterion is used to select the subset of features from given high dimensional feature space. As filter methods do not consider interaction with the learning algorithm, it is comparatively faster than the wrapper method. However, the accuracy is comparatively lower than the wrapper algorithm ( Fig. 1).
In contrast to filter methods, wrapper methods assess relevance of features subset based on the learning algorithm performance (Keogh and Mueen 2011;Yang et al. 2015;Srivastava et al. 2014;Dash et al. 2002). The filter method is comparatively faster than the wrapper methods; their major drawback is that features are ranked independently using some statistical measure. It does not consider interaction of features during the feature selection process. On the other hand, the wrapper method considers interaction between features and then select the informative subset of features from the original feature space. In this paper, we propose a wrapper method for feature subset selection (Fig. 2).
The selection of an informative subset of features can be considered as a global combinatorial optimization problem in which the optimum features subset is selected from a high dimensional feature space. Nature inspired algorithms (NIA) gain attention for optimization problem (Agarwal and Mehta 2014). NIA is a mathematical formulation of the living beings present in the environment. Researchers have explored NIA such as genetic algorithm (GA) (Yang and Honavar 1998), particle swarm optimization (PSO) (Xue et al. 2013;Yang 2014), ant colony optimization (ACO) (Yang 2014;Blum 2005;Ali et al. 2017;Ahmed 2005), simulated annealing (SA) (Yang 2014), differential evolution (DE) (Yang 2014;Ali et al. 2017), and bacterial foraging optimization (BFO) (Chen et al. 2017) for feature selection problem. As they consider interaction of the learning algorithm for feature selection, they come under the wrapper method.
Originally, PSO is proposed for continuous problem (Kennedy 1995). Later, it is extended to solve discrete problem (Kennedy and Eberhart 1997). The discrete version of the PSO is named as binary particle swarm optimization. The BPSO is used to solve a wide variety of problems including feature selection (Cervante et al. 2012), cryptography algorithms , optimum switching law of inverter (Wu et al. 2010), and classification (Cervantes et al. 2005). Several algorithms have also been developed to improve the performance of BPSO that includes modified BPSO which adopts concepts of the genotype-phenotype representation and the mutation operator of genetic algorithms (Lee et al. 2008), mutation-based binary particle swarm optimization (M-BPSO) for multiple sequence alignment solving (Long et al. 2009), improved binary particle swarm optimization to select the small subset of informative genes (Mohamad et al. 2011), density-based particle swarm optimization algorithm for data clustering (Alswaitti et al. 2018), Particle Swarm Clustering Fitness Evaluation with Computational Centroids (Raitoharju et al. 2017), hybrid binary version of bat and enhanced particle swarm optimization algorithm to solve feature selection problems (Tawhid and Dsouza 2018), hybrid improved BPSO and cuckoo search for review spam detection (Rajamohana and Umamaheswari 2017), and hybrid PSO with grey wolf optimizer (HPSOGWO) (Singh and Singh 2017). In any case, original BPSO (Kennedy 1995) effectively stick into neighborhood optima because of single directional data sharing system by the global best particle in the swarm. Chuang et al. (2008), enhance BPSO by embedding two sorts of chaotic maps, logistic maps and tent maps to evacuate superfluous features and select an informative subset of features. Here, they use a chaotic map to update the value of inertia weight over the number of iterations. This step helps the algorithm to avoid stagnation of the solution at a local optimum solution. Selection of an informative subset of features subset from high dimensional feature space and improvement in the searching capability of the existing NIA is still a great challenge in the area of optimization. Mirjalili (2016a) was offered sine cosine algorithm (SCA) which is a novel population based optimization technique simply based on Sine and Cosine function. SCA applied for exploitation and exploration phases in global optimization functions. The sine cosine algorithm (SCA) generates different initial random agent solutions using a mathematical model based on sine and cosine functions and requires them to fluctuate outwards or towards the best possible solution.
Several new modified and hybrid variants of SCA algorithm are developed after motivated of this metaheuristics by the researchers of different areas to improve  the convergence performance of SCA algorithm including SCA integrated with differential evolution (Bureerat and Pholdee 2017), Improved SCA based on levy flight (Li N and Deng ZL 2017), Hybrid SCA with multi-orthogonal search strategy (Rizk-Allah 2017), and hybrid back tracking search with sine cosine algorithm (SCA) (Turgut 2017). The researchers are solved numerous real life problems with the help of SCA algorithm including a novel sine cosine algorithm for the feature selection (Hafez et al. 2016), solution of unit commitment problems (Kaur and Prashar 2016), the gear train design problem (Rizk-Allah 2017), Welded beam design (Rizk-Allah 2017), Pressure vessel design problem (Rizk-Allah 2017), Structural Damage Detection (Bureerat and Pholdee 2017), and many other biomedical and mechanical engineering problems.
In this study, we explore capability of NIA for feature selection problem by introducing a hybrid NIA with the combination of BPSO and SCA named as HBPSOSCA. The proposed model HBPSOSCA integrates the exploration capability of the SCA and exploitation capability of the PSO to select an informative subset of features. Here, the V-shaped transfer function is used to convert continuous swarm intelligence technique to binary search space. Next, the K-means algorithm is used to create clusters of data points. The Silhouette Index (SI), Dunn Index (DI) and Davies-Bouldin Index (DBI) are used for cluster assessment. Seven real-life scientific datasets are taken from the UCI machine learning archive and gene expression model selector (GEMS) to test effectiveness of the proposed method compared to other competitive methods. The comparative analysis is performed in terms of (1) number of selected feature subsets and, (2) clustering accuracy measured in terms of SI, DI, and DBI. The comparative analysis of the HBPSOSCA method is compared with state of the arts algorithm BPSO, modified BPSO with chaotic inertia weight (C-BPSO), binary moth flame optimization algorithm (BMFOA), binary dragonfly algorithm (BDA), binary whale optimization algorithm (BWOA), sine cosine algorithm (SCA), and binary artificial bee colony algorithm (Binary-ABC).
The rest of the paper is organized as follows: Sect. 2 describes the foundation of algorithms used as a part of this paper. The detailed descriptions of proposed approach are given in Sect. 3. The experimental results are presented in Sect. 4 while the conclusions and future are presented in Sect. 5.

Algorithms background
This section provides a background concerning the optimization algorithms. 2.1 Binary particle swarm optimization (BPSO) J. Kennedy and R. Eberhart propose Particle swarm optimization (PSO) (Kennedy 1995;Kennedy and Eberhart 1997) in 1995. The PSO is a population-based stochastic approach for solving continuous and discrete optimization problems. The PSO optimization algorithm is inspired by the flocking and schooling patterns of birds and fish. Here, each particle is considered as a potential solution. Every particle is associated with a fitness value, which is used to assess worthiness of the solution compared to others. The particle own best position is named as particle best solution (pbest). The best-fitted solution of the entire swarm is named as a global best solution (gbest). The movement of particle is controlled by its own pbest position and the gbest position of the swarm. Equations 1 and 2 show the velocity and position update of the ith particle.
where d is the dimension of particle, t is the iteration, r 1 and r 2 are random numbers in the interim (0, 1), and e 1 and e 2 are positive learning constants. Originally, PSO is developed for continuous problem while numerous optimization problems exist which are discrete/binary in nature, for example, demand side management system (Agneessens et al. 2011), feature selection (Behjat et al. 2014), Knapsack Problems (Bansal and Deep 2012). Kennedy (1995) extend the concept of PSO and develop a binary version of PSO named as binary particle swarm optimization (BPSO) to solve discrete/binary problem. Here, a sigmoidal function Sig vel d i À Á À Á is used to convert position (refer Eq. 2) in binary search space (refer Eq. 4) for BPSO. The sigmoidal function is a mathematical function whose curve looks same as the shape of English letter 'S'. The sigmoid function is a kind of function that is real-valued and differentiable. It is defined on all real inputs and returns a positive derivative at every point of it. Position and velocity of ith particle in case of BPSO algorithm are computed by: Sig vel d A novel hybrid BPSO-SCA approach for feature selection 41 where w is inertia weight, rand is an arbitrary number chose in interim (0, 1), pos d i is location of ith particle at dimension d and Sig vel d i À Á À Á indicates sigmoidal function. The BPSO algorithm is good at exploitation, however, poor at exploration.

Binary moth flame optimization algorithm (BMFOA)
Seyedali Mirjalili proposes a new nature-inspired algorithm named as Moth Flame Optimization (MFO) (Mirjalili 2015) in 2015 which is inspired by the navigation behavior of moths known as transverse orientation, i.e., keeping a fixed angle on a distant source of light for orientation. It is a population-based swarm intelligence technique which simulates the behaviour of moths at night. Moths attract towards the moonlight or counterfeit lights made by people. Here, a moth flies by using as a settled point with respect to the moon which is an extremely powerful instrument for traveling long separations in a straight way. This system ensures that moths are flying in a straight line in the light. When moths see a man-made light, they maintain a similar angle with the light to fly in a straight line causes a helical route for moths because such manmade lights are very close contrasted with the moon. It might be watched that the moth unsurprisingly meets towards the light. Fundamental segments of MFO calculation are moths and flames. In the MFO algorithm, it is acknowledged that the candidate solutions are moths and the issue's factors are the location of moths in the space. The moths are real hunt specialists that move around the search space. However, flames are in the best position of moths that gets up until this point. As specified over that this advancement calculation is propelled by exceptional route technique, i.e., transverse introduction. The position of every moth which is refreshed with respect to a flame is mathematically defined as follows: where Moth i shows the ith moth, Flame j demonstrates the jth flame, and SP is the spiral function. The logarithmic spiral function for the MFO algorithm is defined as follows: where Dis i demonstrates separation of the ith moth for the jth flame (refer Eq. (8)), b is a constant for characterizing shape of the logarithmic spiral, and I is a random number in [-1, 1].
where Moth i indicates the ith moth, Flame j indicates jth flame and Dis i indicates separation between Moth i and Flame j . The parameter I [refer Eq. (7)] decides route of moth around the flame (I = -1 indicates nearest location to the flame, while I = 1 demonstrates the uttermost). Exploration and exploitation of the binary space can be ensured due to the spiral equation which allows a moth to fly around a flame. I is defined as a random number in [r, 1], where r linearly decreased from -1 to -2 over the course of iterations. According to Eq. (7), each moth is constrained to move towards a flame that may incite adjacent perfect stagnation. Flames must be arranged according to their fitness values. The moths by then invigorate their situations with respect to their relating flames. A versatile mechanism for the number of flames (f no ) has been proposed as in the following formula due to the degradation in exploitation of the best promising solutions: where t is the present number of iteration, N f is the maximum number of flames, and T is the total number of iterations. According to Mirjalili (2015), it can be determined that local optima is high in MFO since MFO utilizes a population of moths to perform optimization. Decreasing the quantity of flames adjusts exploration and exploitation of the search space. The convergence of the MFO algorithm is ensured on the grounds that the moths always tend to update their positions with respect to flames.
In binary search space, the location of moths is confined to twofold factor, i.e., 0 or 1. Here, 1 shows the presence of corresponding feature and 0 demonstrates the absence of that feature. Sigmoidal function (Reddy et al. 2017) Þis used to change the location of each moth which is invigorated in regards to a flame (refer Eq. (6)) in continuous search space into the new position in binary search space (refer Eq. (10)) for BMFOA.
where Moth t þ 1 ð Þ is the location update of the moth for t þ 1 ð Þth iteration. In binary space, the position of every moth with respect to a flame is computed (in binary search space) by the given Eq.: 2.3 Binary dragonfly algorithm (BDFA) Dragonfly algorithm (DFA) is introduced in 2015 by Mirjalili (2016b) inspired from dragonflies (small hunters that eat almost all other small insects in nature). Dragonfly has two main swarming behaviours which are the main inspiration of DFA and these behaviours are: static and dynamic swarming behaviours. Exploration and exploitation are two important components of any NIA. In DFA, mathematically these behaviours are expressed by: • Separation states to avoid the static collision from another sub group of dragonflies. Mathematically, this behaviour is defined by: where pos represents current location of an individual, pos j indicates jth neighbouring individual's location, and N is total quantity of neighbouring individuals. • Alignment demonstrates matching of an individual's velocity to other neighbourhood individuals. Mathematically, this behaviour is simulated by: where vel j indicates velocity of jth neighbouring individual. • The property of an individual to incline towards neighbouring mass center is known as Cohesion. It is computed by: where N is total number of neighbouring individuals, pos denotes location of current individual, and pos j indicates location of jth neighbouring dragonfly. • Attraction behaviour of dragonfly in the direction of food source is computed as: where pos þ represents position of food source, and pos represents position of current individual. • Diversion behaviour from opponent is find as: where pos À represents location of enemy, and pos represents location of current individual.
Overall artificial dragonflies consist of five behaviours which are described above. In a continuous space, two vectors are computed to update movement, and location of these dragonflies, i.e., step (Dpos) and position (pos). The step vector and the position vector are calculated as defined in Eqs. (17) and (18).
where u is the division weight, U i demonstrates partition of ith individual, o is an alignment weight, O i is separation of ith individual, q is the cohesion weight, Q i is the cohesion of ith individual, v is the sustenance factor, V i is the food source of the ith individual, z is the adversary factor, Z i is the location of enemy of ith individual, w is an inertia weight, and t is the iteration counter.
where pos denotes the current location of an individual and t is the current iteration.
Positions of DA are updated by adding step vectors (similar to velocity vector of PSO) to the position vectors in continuous searching space. In binary space, location of BDFA ) is represented in binary form, i.e., 1 or 0 only without using step vector. A transfer function is used according to Mirjalili and Lewis (2013) and Saremi et al. (2015), to convert continuous space to a binary search space without changing the structure of swarm intelligence algorithm. Transfer function accepts velocity (step) values as an input and returns a value in [0, 1], which determine likelihood of changing positions. The transfer function is given below: where r is a random number in the interval of [0, 1]. According to Mirjalili and Lewis (2013) and Saremi et al. (2015), the algorithm was well-appointed with five parameters to control cohesion, alignment, separation, attraction (towards food sources), and diversion (outwards enemies) of individuals in the swarm. The convergence of the artificial dragonflies towards optimal solutions in continuous and binary search spaces was also observed and confirmed, which are because of the dynamic swarming design behaviour.

Binary whale optimization algorithm (BWOA)
Whale Optimization Algorithm (WOA) (Mirjalili and Lewis 2016) is introduced in 2016 by Mirjalili and Lewis. Whales are an elegant living being. Humpback whales (one of the largest whale) chase swarms of krill or little fishes near the surface. The foraging is performed by creating distinctive bubbles along a circle. However, Goldbogen et al. (2013) examine this conduct using label sensors. WOA has two stages: the first stage is scanning arbitrarily for prey which is exploration stage and the second stage is enclosing a prey and spiral bubble-net attacking method which is an exploitation phase.
Movement of whale around a prey is depicted in the exploitation stage. Mathematical formulation of this step is given by: where t indicates current number of iteration, M shows distance between whale and prey, S Ã demonstrates the best solutions acquired up until this point, and S shows the current solution. H and G represent the coefficient vectors which is defined by: where c gradually decreases from 2 to 0 and g is a random vector in [0, 1], t is the current iteration, and T is the maximum number of iterations. The distance between the solution (S) and the best solution (S Ã ) causes the spiral shaped path which is computed by: where b is the helix's form of the spiral, and I is an irregular number in [-1, 1]. Shrinking encircling model or spiral model is simulated by Eq. 5: where rand is a random number in uniform dissemination.
For exploration phase, the above approach can be utilized to hunt for prey by variation of H vector. A vector H with random values (greater than 1 or less than -1) is utilized to constrain a solution to move far away from the best-known searched agent. It is computed by: where S randm is a random whale taken from the present population.
For BWOA , the sigmoidal function is used to map continuous value into a binary value.

Sine cosine algorithm (SCA)
SCA is proposed in 2016 by Mirjalili (2016a) and Meshkat and Parhizgar (2017). It is based on the functions of Sine and Cosine for exploration and exploitation phases, respectively. SCA starts with random solutions to swing near or away the best possible solution using mathematical expressions defined in Eq. 32. The cyclic condition of sine and cosine enables a solution to be re-arranged around other solution, which facilitates exploitation. In the exploitation phase, however, there are gradual changes in the random solutions, and random variations are considerably less than those in the exploration phase.
In SCA, the position of solution is updated using Eq. 32: where pos t i vector is the current position at tth iteration in ith dimension, r 3 , r 4 , r 5 are the random numbers, r 6 are the random number in [0, 1] and L i is targeted global optimal solution.
where t is the current iteration, T is the total number of iterations, and a is a constant. The parameter r 3 demonstrates the direction of movement which could be either in the space between the solution and goal or outside it. The parameter r 4 is a random number in [0, 2p] which exhibits how far the development ought to be towards or outwards the objective and parameter r 5 shows an unpredictable weight for the objective to emphasize (r 5 [ 1) or deemphasize (r 5 \ 1) the irregular effect of objective in describing the partition. Finally, the parameter r 6 switches between the sine and cosine segments in Eq. 32.
According to Mirjalili (2016a) and Meshkat and Parhizgar (2017), it can be concluded that the mathematical model of position update equation update the solutions outwards or towards the goal point to ensure exploration and exploitation of the search space, respectively. SCA can be a very appropriate option compared to the current algorithms for solving different optimization problems.

Proposed method
In this paper, we explore capability of NIA for feature selection problem. Traditionally, real-world datasets include a large number of features. However, some of these features are non-informative, redundant and noisy. These features not only increase computational complexity of the underlying algorithm but deteriorate its performance. In literature different nature-inspired algorithms are proposed for feature selection task (Diao and Shen 2015;Kumar 2018). In this paper, a new hybrid method HBPSOSCA is proposed using BPSO and SCA to select an informative subset of features. Here, the V-shaped transfer function is used to convert continuous nature of an algorithm to binary. The movement of a particle in the BPSO algorithm is improved using the sine-cosine algorithm. A detailed description of each of the step is presented in the subsequent sections.

Initialization of swarm
This Subsection discusses the very first step of the proposed method, i.e., initialization of the swarm. Here, a particle is represented in binary form of size n (as shown in Fig. 3), where n represents the total number of features in the dataset. Here, binary value 1 shows presence of corresponding feature and 0 depicts its absence. We work with the population size of n. For this, the first swarm is randomly initialized with the 2 n particles. Next, top n particles are selected from the 2 n particles with the assistance of fitness value. A pictorial representation of a particle with size n is presented in Fig. 3.

Clustering algorithm
Clustering is a process of grouping data points into clusters based on defined criteria. Traditionally, clustering methods are categorized into two categories; hierarchical clustering (Xu and Tian 2015), partitional clustering (Xu and Tian 2015). Hierarchical clustering creates clusters either top to bottom, known as divisive clustering or bottom to top known as agglomerative clustering. Initially, a divisive method considers each data point as a part of one cluster and recursively divides the clusters based on defined criteria. On the other hand, the agglomerative clustering method considers each data point as individual clusters and recursively merge the cluster based on defined criteria. On the contrary, partitional clustering creates clusters of the data point at one level.
In this paper, we use the K-mean partitional clustering method. K-means clustering (Xu and Tian 2015;Jain and Dubes 1988;Prakash and Singh 2012) is one of the most commonly used partitional clustering techniques. Here, K is the number of clusters. K-means works iteratively by assigning each data point to one of the K clusters based on some predefined measure. Traditionally, the Euclidian distance measure is used for this purpose. The Euclidian distance is calculated between the cluster center and data point. The data point is assigned to the cluster from which data point has a minimum distance. Next, each data point is assigned to the cluster to which it has smaller Euclidian distance from the cluster center. Assignment of data points to the respective clusters and refinement of cluster centers based on the average of the points assigned to the respective clusters are repeated until the termination criterion is met.

Evaluation criteria/fitness function
In this subsection, a detailed description of Silhouette Index is presented which is used to evaluate quality of potential solution. The silhouette index is proposed by Kaufman and Rousseeuw (2009) and Desgraupes (2013), which show the similarity of a data point to its own cluster as compared to its similarity with other clusters.
Consider a data point x i lies in a cluster, where p x i ð Þ be the normal disparity of x i with every other datum inside a similar group and f x i ð Þ be the most reduced normal difference of x i to some other group. Silhouette index Sil x i ð Þ for a particular data point x i is numerically calculated as follows: The values of Silhouette index lies in the range [-1, 1]. Here, high value shows that the data point well matched with own and compared to other clusters.

Proposed algorithm
As mentioned in Sect. 1, the proposed HBPSOSCA algorithm is a nature-inspired wrapper feature selection algorithm. In this section, we present a detailed description of the proposed method. Firstly, best n particles are selected from the 2 n randomly generated particles based on fitness value (for more details refer, Sect. 3.1). Each particle is the potential solution in the search space. Next, K-means clustering is applied to create clusters of data points on the selected features subspace. Here, the particle's quality is evaluated using fitness function (refer Sect. 3.3). Swarm gbest (best solution of the entire swarm) and pbest (individual best solution) particles are selected from the current population based on their fitness. During the iteration, some particle gets stuck at a local optimum solution. We use a replacement strategy to deal with this problem. This strategy replaces a particle with the opposite solution if a particle does not improve for the defined number of iterations. Flowchart and algorithmic flow of the proposed method are demonstrated in Fig. 4 and Algorithm 1, respectively. In this paper, an amalgamation of the BPSO with SCA helps the algorithm to expand its searching capability and locate the near global optimum solution. In SCA, if functions of sine and cosine generate a value that is higher than 1 or smaller than -1, then it signifies the exploration of different areas within the search space. Likewise, if sine and cosine functions generate a value within the range between -1 and 1 then it demonstrates that proficient areas of search space are exploited. The SCA algorithm effectively travels from exploration to exploitation utilizing versatile range in the sine and cosine functions. In the hybrid approach, the movement of a particle in the BPSO is improved using the sine-cosine algorithm.
In this paper, we use a V-shaped function to change a real-valued swarm intelligence system to a binary algorithm without altering the knowledge of swarm. As per Saremi et al. (2015), the V-shaped transfer functions [refer Eq. (35)] are superior to S-shaped transfer functions since they don't constrain particles to take estimations of 0 or 1.

TF vel
For proposed HBPSOSCA, the accompanying new technique for updating particle's velocity and position is utilized, respectively to refresh the position of particles in twofold search spaces. Mathematical formulation of these steps is given in Eqs. 36-39.
where r 1 , r 2 are random numbers in the interim (0, 1), r 3 and r 4 are also the random numbers, pos d i is position of ith particle at dimension d, and w is the inertia weight (Jain et al. 2017;Bansal et al. 2011). The mathematical formulation of inertia weight is presented in Eq. 40.
Here, the inertia weight is increased linearly in every iteration and regulates the velocity of all particles. Here, w min is the initial value and w max is final value of the inertia weight, t represents current iteration, T is the total number of iterations, and n is used to control the fraction of iterations when w increases linearly from w min to w max . Here, n ¼ 0:9 is used to achieve stronger exploration in initial iterations and high exploitation in later iterations (Jain et al. 2017).
The parameter r 3 shows the direction of movement that can be either outside or space in between the solution and destination. It is defined as follows: where t is the current iteration, T is the total number of iterations, and a is a constant. The parameter r 4 is an irregular number in [0, 2p] demonstrates how far the development ought to be towards or outwards the goal.
where pos d i is the position of ith particle at dimension d, rand is a random number, and TF is the V-shaped transfer function. The mathematical formula is given in Eq. 35.

Datasets and parameters setup
The effectiveness of the proposed method is demonstrated using several experiments conducted on seven real-life scientific datasets. The datasets are taken arbitrarily from the UCI archive of machine learning and GEMS. The brief description of the datasets is presented below. The statistical details of used datasets are presented in 1) Introduce population of swarm of size 2 randomly in binary search space and select best particles from swarm (Refer, Subsection 3.1); 2) For each particle do 3) Assess particle fitness by fitness function (Silhouette Index (Eq. 34)); 4) Instate pbest; 5) End for 6) Select gbest (best particle among pbest in the swarm); 7) While maximum iteration is not reached do 8) For each particle do 9) Update its velocity and position by utilizing Eq(s) 39-42; 10) Evaluate fitness of new updated particle;

11)
If (fitness of prev. particle > fitness of new particle) do 12) Increment the value of count variable; 13) Else 14) set count value to zero; 15) If (count > max_count) do 16) Re-instate the particle or perform supplement of that particle; 17) Set count value to zero;

21)
End for 22) Update gbest accordingly; 23) End while van, 240 instances belong to saab, 240 instances belong to bus, and the remaining 240 instances belong to Opel. Parkinson: It is acquired from the Max Little of the University of Oxford. It has 23 features and 195 instances. The 147 instances belong to Parkinson category, and the remaining 48 belongs healthy.
9_Tumors: The dataset comes from a study of 9 human tumor types: NSCLC, colon, breast, ovary, leukemia, renal, melanoma, prostate, and CNS. There are 60 samples, each of which contains 5726 genes. Leukemia2: The dataset has 72 samples, each of which contains 11,225 features. These samples categorized into AML, ALL, and mixed-lineage leukemia (MLL).

Parameter setting
The parameters have a large impact on optimizing performance. In BPSO, particle's position and velocity are initialized randomly. Here, the position is in the form of 1 or 0 and velocity is in the range of -6 to 6, and parameters e 1 (0 e 1 ) and e 2 (e 2 2) are the weighting (acceleration/ learning) coefficients for the personal best and global best positions respectively. In Chaotic-BPSO, tent map is preferable to logistics map according to Kennedy and Eberhart (1997). Therefore, the inertia weight parameter is set at to 0.48 for CBPSO. In BMFO, parameter b is a constant value which is used to define shape of the logarithmic spiral when position (refer Eq. (7)) of moth is updated. In BDFA, parameter w is the inertia weight which is used in updating the movement of the dragonfly (refer Eq. (17)) and its value varies from 0.9 to 0.2. In BWOA, parameter b is a constant value which is used to define shape of the logarithmic spiral when position of the whale is updated (refer Eq. (26)). In SCA, parameter a (refer Eq. (33)) is used to compute direction of movement which could be either in the space between the arrangement and objective or outside it. In artificial bee colony, the number of bees is the main factor that affects the speed and quality of the algorithm. In HBPSOSCA, parameters e 1 and e 2 are the acceleration coefficients used in BPSO, parameters w min and w max are the initial and final values of the inertia weight used in finding the linearly increasing inertia weight, i.e., w [refer Eq. (40)]. The parameter max_count is used to re-initialize the particular particle randomly or by taking the complement of that particle if the particle does not change its position for defined number of iteration. The parameter n varies in 0 n 1. It is used to control portion of iterations where inertia weight increments straightly from w min and w max . Here, n = 0.9 [refer Eq. (40)] is used to achieve stronger exploration in initial iterations and high exploitation in later iterations, and parameter a [refer Eq. (41)] is used to compute direction of movement which could be either in the space between the arrangement and objective or outside it. Tabulated summary of the parameters adopted in this paper for eight different algorithms namely, BPSO, BMFO, BDFA, BWOA, and HBPSOSCA is presented in Table 2.

Dunn Index and Davies-Bouldin Index
Silhouette Index (SI), Dunn Index (DI) and Davies-Bouldin Index (DBI) are used to evaluate the quality of created clusters. The higher value of SI (refer Sect. 3.3) and DI, and a lower value of DBI represents better quality of cluster. DI is proposed in 1974 by Desgraupes (2013) and Bezdek and Pal (1995) that measure maximum cluster diameter and relate it to the minimum cluster distance to judge the clustering performance. DI is calculated by dividing minimum distance between clusters by maximum size of clusters. Therefore, high value of distances between clusters and low value of cluster sizes indicates high value of DI, leading to increased clustering efficiency. DI for m clusters is denoted as follows: where d C i ; C j À Á is the distance among clusters i and j and D k denotes the maximum distance between clusters.
DBI is an evaluation scheme introduced in 1979 by Desgraupes (2013) and Davies and Bouldin (1979). It is the ratio between the within cluster distances and the between cluster distances and the average overall the clusters. The value of DB varies between 0 and 1. The lower value of DBI denotes best partitions of the data point. It is calculated as follows: where m is the number of clusters and D i is defined as: where R ij denotes clustering efficiency (refer Eq. (46)), distinction between ith and jth clusters is l ij (refer Eq. (47)), within cluster distribution of ith cluster is denoted as P i (refer Eq. (48)), EU x; y ð Þ is the Euclidean separation amongst x and y, center of cluster C i is CI i and jjC i jj is the convention for C i .

Simulation results on benchmark functions
The mean and standard deviations of function values obtained by original BPSO, C-BPSO, BMFO, BDFA, BWOA, SCA, Binary-ABC, and HBPSOSCA for 150 iterations for 10 independent runs are given in Table 3. It is evident from Table 3 that the HBPSOSCA method attains better performance compared to competitive methods in most of the cases.
Graphical summary of the proposed algorithm in comparison to the competitive methods BPSO, C-BPSO, BMFO, BDFA, BWOA, SCA, and Binary ABC is presented in Fig. 5. Here, the fitness value recorded over the number of runs for each algorithm is reported in Fig. 5. The Fig. 5 demonstrates that the proposed method is consistent over the number of run in comparison to competitive methods in most of the case. This behavior depicts stability of the proposed method in comparison to competitive methods.

Simulation results on real-life datasets
In this subsection, we perform comparative analysis of all models for feature selection problem. The higher value of SI and DI represents better performance whereas lower value of DBI specifies better performance. The statistical results of 10 independent runs, obtained by HBPSOSCA and competitive methods are presented in Tables 4, 5 and 6. Furthermore, we measured the Wilcoxon test for all the algorithms and the results are presented in Tables 7, 8 , 9, 10, 11, 12 and 13. The data obtained from 10 runs is plotted in Fig. 6 to analyze the consistency and overall performance of HBPSOSCA. For the ionosphere dataset, the performance of proposed HBPSOSCA method is higher than the competitive methods with 92.7% average accuracy as shown in Fig. 6a. For BCW dataset, the performance of proposed (i) (j) Fig. 5 continued Table 4 The results recorded with the BPSO, C-BPSO, BMFO, BDFA, BWOA, SCA, Binary ABC, and HBPSOSCA with 10 independent runs on seven real-life benchmark datasets in term of SI     comparatively higher than the competitive method as shown in Fig. 6g. A possible reason of this improvement is good exploration and exploitation of the given feature space.

Conclusions and future directions
A feature selection method is used to select an informative subset of features from high dimensional irrelevant, redundant, and noisy feature space. The irrelevant, redundant, and noisy feature not only increases computational complexity but also deteriorate performance of the underlying algorithms. In this paper, a nature-inspired algorithm is used to select an informative subset of features from given feature space. Each algorithm has its own advantages and disadvantage. We introduce a new hybrid method to take advantage of one method and lessen the disadvantage of others for feature selection task. Here, we integrate the BPSO with the SCA, named as HBPSOSCA for this task. The integration of the two algorithms provides global search ability and local exploitation ability to the HBPSOSCA by improving the movement of a particle in the BPSO with the SCA. The proposed algorithm is tested on ten benchmark test functions and seven well-known scientific datasets. Experimental results show that the proposed algorithm obtains the near global minimum compared to other competitive nature-inspired algorithms for most of the test functions. Moreover, it achieves better clustering accuracy compare to the competitive methods for all real-life datasets. The Wilcoxon Test confirms that the results obtained by the HBPSOSCA are significantly better than the competitive methods.
In the future, we intend to combine other feature selection methods with the nature-inspired algorithm to select an informative subset of features from high dimensional space without much increasing computational complexity of the algorithm. As the parameters' value significantly affects performance of the underlying algorithm, we plan to develop a model to adaptively set the parameter's values.
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creative commons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
Appendix: Benchmark functions ; À100 X i 100 iX 4 i þ rand 0; 1 ½ Þ; À1:28 X i 1:28  Fig. 7 The comparative performance of all algorithms in terms of features reduction rate A novel hybrid BPSO-SCA approach for feature selection 59