Skip to main content
. 2021 Sep 29;23(10):1274. doi: 10.3390/e23101274
Algorithm 1. Pseudocode of Proposed AREMFFS.
Input:
n: Total number of features in the dataset
N: Total Number of Filter Rank Method = |CS, REF, IG|
T1: Threshold value for optimal features selections = (i=1nXi)1n=X1X2X3  Xnn
T2: log2n
A[]: Aggregators A = { min {R1(a1n), R2(a1n),  Rm(a1n)},
max{R1(a1n), R2(a1n),  Rm(a1n)},mean{(i=1mRi(a1n))×1m}, }
P[]: Aggregated Features
Pt[]: Optimal Features Selected from Aggregated Rank List based on T

Output:
Mt*[] – Single rank list based on AREMFFS
                    // Multi-Filter Feature Selection Phase
1.  for i=1 to N { do
2.          Generate Rank list Rn for each filter rank method i
3.        }
4. Generate Aggregated Rank list using Aggregator functions:
for i=1 to len(A[ ]) { do
5.          Pt*[i] // Initialise variable to hold optimal features
6.          Pi=Ai
7.          for i =1 to Pi[Ni] { do
8.              if (Pi[i] T1)
9.                    Pt*[i]Pi[i] // append optimal features from P based on T
10.                     }
11.             }
//Ensemble Rank Aggregation Phase
12.   for each featuref in Pt*[i] s.t.  i=1,, An { do    // compute the frequency of each feature in the
                               aggregated lists
13.                            if feature fj Pt*[i] 
14.                               j=count (fj ) 
15.                            if  (j  An1) 
16.                                M[ ]  feature fj   //append feature
}//select most occurring feature f in the aggregated list
17.   for i=1 to N{ do
18.          Generate Rank list Rn for each filter rank method i
19.           for i=1 to Rn { do
20.                     Ri[i] TopK features of Rn based on T2 
21.                   }
22.           }
//Backtracking function Phase
23.    for i=1 to len(M[ ]){ do
24.              for j=1 to Ri[N] { do
25.                           if (feature fi  Ri[j])
26.                                     g=count (fi)
27.                         }
28.               if (g  Rn1)
29.                  Mt*[ ]feature fi
30.              }
31.  return Mt*[ ]