# Proposing Enhanced Feature Engineering and a Selection Model for Machine Learning Processes
## 3 Groundwork of eFES
### eFES Algorithms  
The following algorithms aim: (i) to compute functions as raw feature extraction, related features identification, redundancy, and irrelevancy to prepare the layer for feature pre-processing; (ii) to compute and quantify the selection and grouping factor for the acceptance as model incorporates them; and (iii) to compute the optimization function of the model, based on weights and scoring functions. obj\(\underline{\text{\emph{e}}}MLEE\) is the API call for accessing public functions  
Following are the pre-requisites for the algorithms. Initialization: Set the algorithm libraries, create subset of the dataset for random testing and then correlating (overlapping) tests. Create: _LTObject_ for eFES\({}^{\boxplus}\)  
Create: ObjeMLEE (h)/*create an object reference of eMLEE API */  
Set: ObjeMLEE.PublicFunctions (h.eABT,h.eFES,h.eWPM,h.eCVS)/* Handles for all four constructs*/  
Global Input: \(A_{n}=\{A_{1},\ A_{2},\ A_{3},\ldots\ldots,\ A_{n}\}\), \(F_{n}=\{F_{1},\ F_{2},\ F_{3},\ldots\ldots,\ F_{n}\}\), \(\text{\emph{DataSet}}\left(signal,noise\right)\)Dataset Selection: These algorithms require the dataset to be formatted and labelled with supervised learning in mind. These algorithms have been tested for miscellaneous datasets selected from different domains as listed in the appendix. Some preliminary clean-up may be needed depending upon the sources and raw format of the data. For our model building, we developed a Microsoft SQL Server-based data warehouse. However raw data files such as TXT and CSV are valid input files. Overall Goal (Big Picture): The foremost goal of these two algorithms is to govern the mathematical model built-in eFES unit. These algorithms are essential to work in a chronological mode, as the output of Algorithm 1 is required for Algorithm 2. The core idea that algorithms utilize is to quantify each feature either in original, revealed or an aggregated state. Based on such scoring, which is very dynamic and parallelized while classifier learning is being governed by these algorithms, the feature is removed, added, or put on the waiting list, for the second round of screening. This is the beauty of it. For example, Feature-X may be scored low in the first round and because Feature-Y is now added, that impacts the scoring of the Feature-X, and thus Feature-X is upgraded by scoring function and included accordingly. Finally, algorithms accomplish the optimum grouping of the features from the dataset. This scheme maximizes the relevance, reduces the redundancy, improves the fitness, accuracy, and generalization of the model for improved predictive modeling in any datasets. Algorithm 1 aims to compute the low-level function as _F.Prep_ (\(x,y,z\)), based on final Equations (26) and (27) as developed in the model earlier. It uses the conditions of Irrelevant feature and Redundant feature functions and run the logic if the values are below 50% as a check criterion. This algorithm splits the training data based on popular approach as cross validation. However, it must be noted in line 6, that we use our model API for improving the value of \(k\) in the process, that we call enhanced cross validation. LT object regulates it and optimizes the value of \(k\) based on the classifier performance in the real time. It then follows the error rule (80%, 20%) and keeps track of each corresponding feature, as they are added or removed. Finally, it gets to the start using the gain function in 3D space for each fitting factor since our model is based on 3D scoring of each feature in the space where point is moved in \(x,y,\) and \(z\) values in space (logical tracking during classifier learning). Algorithm 2 aims to use the output of algorithm 1 in conjunction with computing many other crucial functions to compute a final function of feature grouping function (FGF). It uses the weighted function to analyze each participating feature including the ones that were rejected. It also utilizes the LT object and its internal functions using the API.