| Algorithm 1: Hybrid filter and differential evolution-based feature selection | |
|
Input: F: Original feature set, and P: Size of population Output: SF: The optimal selected features |
|
| Begin | |
| 1 | Compute scores of the features using Filter methods: Information gain (IG), information gain ratio (IGR), correlation (CR), Gini index (GIND), Relief (RELIEF) and Chi-squared (CHSQR) |
| 2 | Do ranking of all features in F based on the scores computed by Filter methods |
| 3 | Reduce dimension of training data by selecting only the top 5% of ranked features |
| 4 | Set Crossover rate, maximum number of generations Max_t, the generation counter t = 0 |
| 5 | Generate and initialize P individuals of population (feature subset solutions) |
| 6 | While t < Max_t and Stopping criterion is not satisfied Do |
| 7 | t = t + 1 |
| 8 | Compute the fitness of individuals using misclassification rate |
| 9 | Best individual = Evaluate the fitness of individuals |
| 10 | For each individual Do |
| 11 | Choose three individuals ,
,
randomly where |
| 12 | Generate a mutant solution using Equations (9) and (10) |
| 13 | Generate a trial vector using Equation (11) |
| 14 | Evaluate fitness values of and |
| 15 | If fitness of is better than fitness of |
| 16 | is replaced with in the population and then used for the next generation |
| 17 | Else |
| 18 | is kept for next generation |
| 19 | End if |
| 20 | End For |
| 21 | End While |
| 22 | Extract the optimal selected features from the individual with the best fitness value |
| 23 | Return the optimal features SF |
| 24 | End Algorithm |