| Algorithm CPEMM (DS, threshold) |
| Input: DS → dataset, merit_threshold meritvalue, |
| acc_threshold accuracy threshold, flag = 1 |
| Output: ffs finalised feature set |
| Accuracy vector, MS merged set vector, |
| bs bootstrap vector |
| merit subsets obtained from wrapper feature selection, |
| Sorted subset list in descending order |
| subset with highest ranking, |
| no of subsets generated () |
| (1) Initialize subset = null |
| (2) Generate feature subsets with Ensemble |
| Initialise no. of iterations |
| Repeat |
| Generate subset from DS |
| Verify merit |
| |
| Optimization of feature subset |
| merit of |
| Until iterations |
| (3) Evaluate accuracy of classifier with subset . |
| , , |
| Evaluate accuracy of |
| Repeat |
| Repeat |
| diff = |
| and merged |
| Evaluate accuracy of |
| If |
| Append to ffs |
| flag = 1 |
| else |
| flag = 0 |
| Append to ffs |
| endif |
| Increment |
| until flag != 0 or or diff threshold |
| Increment |
| until ≥ acc_threshold |
| (4) bootstrap vector from ffs |
| Repeat |
| Train classifier ci with |
| Evaluate out of bag error |
| Until sets are bootstrapped |
| with 5-fold cross validation |