# Leveraging Feature Extraction to Perform Time-Efficient Selection for Machine Learning Applications
## 3 Proposed Solution
### Process  
Given the proposed solution, a diagram of its intended progression is represented in Figure 3.  
Starting from a full set, the solution reduces the number of redundant features. It accomplishes this by performing dependency analysis over the provided features and  
Figure 3: Proposed solution process. Figure 2: Exponential growth of \(C\) as \(n\) increases. disposing of highly dependent ones, which are reduced to a single representative. It then selects the top features via a filter feature-selection method. This outputs a reduced set for which all feature combinations of length \(r\) are computed. Since the number of features \(n\) has been reduced, this operation is not as computationally expensive. The resulting list of feature groups is then used to create an entirely new dataset composed of features extracted from each of them. The new interim features dataset is subsequently used with a filter method (which may or not be the same as the one previously used) to select the best of them. Any of the selected interim features directly correspond to a set of possible solutions for selection, all of which have a length of \(r\). It should be taken into account that this process is adaptable since there are steps in which the algorithm to be used may be chosen as needed, and, in some cases, steps may be skipped. During the entire process, up to two different filter-based algorithms for feature selection may be chosen, as well as one for feature extraction. Additionally, if the dataset is not too large, a reduced representation may not be needed. A representation of this solution's algorithm may be seen in Algorithm 1. ```
Data:\(D=<f_{1},f_{2},f_{3},\ldots,l>\) Input:\(D,cf,ffs_{A},ffs_{B},fe,max_{t},max_{n},r\) Output:\(D\) Algorithm \(D[l]\leftarrow\mathit{LabelEncoder}(D[l])\)\(K_{scores}\leftarrow\mathit{ComputeDependence}(D[f_{1},f_{2},f_{3},\ldots])\) if\(K_{scores}>max_{t}\)then \(D\leftarrow\mathit{RemoveFeatures}(K_{scores},D[f_{1},f_{2},f_{3},\ldots])\) if\(n_{features}>max_{n}\)then \(D\leftarrow\mathit{ffs}_{A}(D)\) if\(cf\) not emptythen \(D[cf]\leftarrow\mathit{CategoricalEncoder}(D[cf],D[l])\)\(C\leftarrow\mathit{ComputeCombinations}(D[f_{1},f_{2},f_{3},\ldots],r)\)\(SD\leftarrow\)doin parallel \(fe(C[0])\)\(fe(C[1])\)\(fe(C[2])\)\(\ldots\)\(SD[c_{1},c_{2},c_{3},\ldots]\gets D[l]\)\(Tf\gets ffs_{B}(SD[c_{1},c_{2},c_{3},\ldots,l])\)\(D\gets D[Tf,l]\)return\(D\);
```  
**Algorithm 1**Proposed solution's algorithm  
The solution takes as input the dataset to be treated (\(D\)), its categorical features (if any) (\(cf\)), two filter-based feature selection methods (which may be the same) (\(ffs_{A},ffs_{B}\)), the chosen feature extraction method (\(fe\)), the max value allowed for feature redundancy/dependency (\(max_{t}\)), the max feature set length to work with (\(max_{n}\)), and the target feature set length (\(r\)). Starting from the full feature set, our approach addresses feature redundancy through dependency analysis to identify groups of highly dependent features. Specifically, features with a dependence value exceeding the threshold \(max_{t}\) are classified as highly dependent. Each resulting group is then represented by a single feature that preserves the core information shared among its members. Although redundant features may contain subtle complementary signals, this consolidation strategy prioritizes unique, non-redundant features to maximize distinct information and minimize overlap. This initial dimensionality reduction step alleviates the computational complexity of subsequent analyses and reduces the risk of overfitting, thereby promoting the development of more robust predictive models. Following this reduction, if the dataset's number of dimensions still surpasses \(max_{n}\), a filter-based feature selection method is employed to further identify and preserve the most promising features from the previously pruned set. This targeted selection ensures that only the most relevant features are carried forward, thereby streamlining the process.