## 3 Proposed Methodology
### Combiner  
It plays an important role in the overall proposed architecture. * Ensemble-1 produces multiple feature weightages obtained from individual feature scoring functions. In this case, the task of combiner is to consolidate the individual feature weightages into a consolidated score. The final scores are obtained by taking the average across multiple scoring functions as shown in Equation (1): \[f=\frac{1}{|N|}\sum\
olimits_{m=1}^{N}\sigma_{m}(f)\] (1)  
The final score of a given feature \(f\) is the average weightage across three independent scoring functions \(\sigma\) applied on a feature \(f\), where \(N\) is the total number of functions in the ensemble. IL is an intermediate object that contains feature weightage and the associated information for each scoring function. A feature list is denoted by an object L that stores a feature's score, its ID and the accumulated cost for a given feature f. *L represents the sorted list based on features' score. Please note that the scoring values are scaled between 0 and 1 before applying Equation (1). * Ensemble-2 deals with multiple partial solutions in the form of feature subsets. In this case, each scoring function produces an independent ranked list. A threshold operation is applied to each list. Subsequently, three different subsets are produced. All the subsets are combined by taking the majority voting scheme. In our case, as the ensemble is comprised of 3 scoring functions, therefore the majority voting is effectively translated into the selection of a feature that is present into at least 2/3 rd of the subsets. Table 2 provides summary of the functions used in both Algorithms 1 and 2. ```
1:Dataset D, Cost vector Cv, List of scoring functions N
2:foreach m in N do:
3:\(\text{L}[\text{m}]=\text{score\_function(m, D) /N=3 i.e., DT, RF, GBT
4:endfor
5:L = average (IL) // using Equation (1)
6:*L = sort(L) // *L, is sorted in descending order
7:foreach f in *L do:
8: Acc\_Cost (f) = Cv(f) //using Equation (2), cost accumulation based on all the elements in *L up to 'f'
9:*L.cost[f] = Acc\_Cost (f) //accumulated cost assignment
10:endfor
11:T = intersection (*L) // where *Lscore < *L.cost
12:S = retained (*L, T) // retained features in *L after applying T
13:return S
14:End
```  
**Algorithm 2** Ensemble-2  
```
1:Dataset D, Cost vector Cv, List of scoring functions N
2:Selected feature set S
3:Begin
4:foreach m in N do:
5:L[m] = score\_function(m, D) //same as Algorithm 1
6:*L[m] = sort(L[m]) //separate list for each scoring function'm'
7:foreach f in *L[m] do:
8: Acc\_Cost(f) = Cv(f) //same as Algorithm 1
9:*L[m].cost = Acc\_Cost (f) //accumulated cost assignment for'm'
10:endfor
11:T = intersection (*L) //same as Algorithm 1
12:S = retained (*L, T) //feature subset is obtained for'm'
13:endfor
14:End
```  
**Algorithm 3** Ensemble-2  
\begin{table}
\begin{tabular}{c c c c} \hline \hline
**Function Name** & **Input** & **Output** & **Purpose** \\ \hline \multirow{3}{*}{score\_function 0} & m: Feature scoring & \multirow{3}{*}{List- feature weightage based on'm’ on ’D’ for each feature ‘f’} & To quantify the merit of the feature set based on different scoring functions \\  & function i.e., DT, RF, GBT & & \\  & D: dataset & & \\ \hline \multirow{3}{*}{average 0} & List: an object containing & \multirow{3}{*}{Average of different feature scores obtained from ’N’ scoring functions for each feature ‘f’} & To obtain a single value describing \\  & feature list & & \\ \hline \multirow{3}{*}{sort 0} & List: an object containing & \multirow{3}{*}{Obtain a re-ordered list based on 'feature’s weightage} & To place more important features \\  & feature list & & \\ \hline \multirow{3}{*}{intersection 0} & List: an object containing & \multirow{3}{*}{\(\theta\): intersection point} & To employ \(\theta\) in feature subset \\  & & & selection.