## 3 Methodology
### Model Evaluation
This was possible by using Caret's 'expand.grid' function, which created all possible combinations of the selected parameter values. In the case of LG models, no hyperparameter grid was used. In such cases, only repeated cross-validation was implemented in the training phases of each of the six different LG models, using the number of epochs defined in the general cross-validation function as the stopping criterion. Each model was trained and validated 50 times (10 times in each repetition of cross-validation) during the entire training and validation process. For the RF models, a different hyperparameter grid was implemented for each model, along with repeated cross-validation. The parameter adjusted was'mtry', i.e., the number of variables selected for each partition of each tree in the forest. The maximum value set for each model corresponded to the integer nearest to the square root of the number of variables considered. The minimum value used was 1 and the rate of variation between the maximum and minimum values was also 1. To develop each of the models, a depth of 300 trees was established for each RF, with a minimum of ten observations per tree leaf with replacement. In the case of the ANN models, a network architecture was implemented using the average of the created models (avNNet) with a maximum number of 145 iterations. This architecture is not a specific or optimal architecture for the case study, but its success primarily depends on the number of analyzed parameters [67]. In each of the ANN, a different hyperparameter grid was implemented, as well as repeated cross-validation. The adjusted hyperparameters corresponded to the'size' parameter or neurons in the hidden layer of the network. The maximum value set in each model for this parameter corresponded to the maximum number of variables in each of the sets. The minimum value was taken as 1. The rate of variation between the maximum and minimum used was also 1. In addition, the hyperparameter 'decay' or L2 penalty rate was also applied to the weights of the network. The explored penalty values were 0.1, 0.01, and 0.001. To avoid increasing the model's bias, the use of replacement sampling was disabled in each model. The models created using SVM with a linear kernel (SVML) were constructed by employing a different hyperparameter grid in addition to repeated cross-validation. The hyperparameter corresponded to the regularization parameter 'C', which controlled the trade-off between classification accuracy and model complexity. This parameter was tuned in two rounds. In the first round, different standard values of C (0.01, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, and 10) were tested to select a range of values, to be later expanded in a second round, and to select the regularization value that resulted in a balance between the margin of error and higher model accuracy. In the case of SVM with a radial basis function kernel (SVMR), they were also created with a different hyperparameter grid in each model, in addition to repeated cross-validation. The hyperparameters to be adjusted were two: the regularization hyperparameter of SVMR and the'sigma' hyperparameter or radial kernel bandwidth in the model. These two hyperparameters were adjusted in two rounds, where the kernel bandwidth hyperparameter was tested with different standard values (sigma: 0.0001, 0.005, 0.01, 0.05, 0.1, 1, 10, and 100). To complete this phase of validation, the models that use the dataset provided by the principal component analysis were also developed in the same way as their counterparts. Principal component analysis (PCA) is a statistical method aimed at reducing the dimensionality of data. Its objective is to obtain a new set of uncorrelated variables called\"principal components\", which capture the most information in terms of the variance of the original data. This technique is widely used in various fields [68] to perform tasks such as dimensionality reduction, data visualization, pattern detection, and exploration of the underlying structure in a set of variables.