## 3 Material and Methods
### Feature Selection  
The selection of relevant independent features from the initial dataset is a crucial step in the preprocessing (or feature selection) stage that precedes the training and evaluation procedures of a deep neural network. This process, also known as feature engineering, aims to enhance the performance of the predictive model by choosing and working only with the necessary features [24]. However, the execution of such procedures comes with a cost as it requires significant computational resources. Some popular techniques for feature selection, as outlined in [25], that were also applied during the preprocessing stage are presented as follows:  
* Feature selection--the process of selecting a subset of relevant features from a larger set of features in the dataset to be used to train a machine learning model. The objective of feature selection is to improve the accuracy and efficiency of the model by reducing the dimensionality of the data by removing irrelevant or redundant features. Some of the most popular feature selection methods include univariate feature selection, recursive feature elimination, principal component analysis and feature importance estimation using decision trees or random forests. * Feature selection graphs, also known as scree plots, can be used to visualize the results of feature selection techniques and procedures. These kinds of plots display the performance of a predictive model against the number of features used. The \(y\)-axis represents the number of selected features, while the x-axis displays the performance metric extracted as a result of the selected method (e.g., accuracy, area under the ROC curve (AUC), F1-score). Figure 1: Initial dataset overview. Figure 2: Final dataset (after feature selection). Correlation matrix with heatmap--a data visualization technique used to depict the correlation between the features of a dataset in a graphical form. To this end, this method extracts a color-coded matrix to display the strength and direction of the linear relationship between two or more variables of the dataset used. The first step performed during the feature engineering procedure was the detection and removal of any non-available values from the dataset provided. As a part of the feature engineering procedures, the categorical features were identified in the provided dataset and transformed using a label encoder, considering their respective values. Subsequently, the study focused on implementing the two feature selection methods (that were selected previously) to identify the most significant features relevant to the independent \"Label\" (namely \"Legitimate\" or \"Malware\") feature element. Feature selection is a critical step in the machine learning pipeline, as it can greatly impact the performance of the model and its ability to generalize to new data. There are several methods for executing feature selection, ranging from manual selection to automated algorithms. Manual feature selection involves expert domain knowledge and intuition in identifying the relevant features, whereas automated methods use statistical or machine learning techniques to evaluate the importance of each feature in the dataset used. During this study, univariate feature selection (more specifically, the SelectKBest class method [26]) was chosen in order to evaluate the correlation between each data feature and the target variable, so as to expose the correlation scores for the features included. As a scoring function, the \"chi2\" was used, whereas the method was applied to 14 out of the 15 features (the target feature, namely \"Label\", was excluded) of the dataset. Table 3 presents the 15 features with their importance score, following the application of the univariate analysis (UVA) feature selection and the SelectKBest algorithm. As it is evident, the most relevant feature to the independent one (\"Label\" feature column) seems to be the \"Proto\" variable.