## 3 Results  
As explained earlier, several cross-validation metrics were calculated to visualise how the models behave during training (using cross-validation), although the deciding metric was the average precision. Thus, each model's precision, recall, F\({}_{1}\) score, and average precision were calculated. Table 2 shows the hyperparameters for the best ANN model obtained using the previously described training method. The table shows the best model for each metric used, allowing us to analyse the impact of each metric during cross-validation, i.e., which model would have been chosen had we used the corresponding metric. However, the deciding metric is the average precision for the reasons previously explained. In this table and all the following tables and figures, models 1 and 2 are the ones trained on historical real data, model 2 being the one that includes the h\({}_{\text{max}}\) variable, and model 3 is the one trained on historical predicted data. Table 2 shows that model 3 obtained the best results during validation, with an average precision of 0.82. Models 1 and 2 performed similarly, with an AP of 0.81. A fairly large Neural Network, with three hidden layers, is needed to solve the problem, resulting in a network of five layers (hidden plus input and output layers). The highest precision, 1, is achieved by a model trained on dataset 3, but the higher recall, 0.81, is obtained by a model trained on dataset 1. \begin{table}
\begin{tabular}{c c c c c c c c c} \hline \hline \multirow{3}{*}{**Model**} & \multirow{3}{*}{**Metric**} & \multirow{3}{*}{ \begin{tabular}{c} **Metric** \\ **Value** \\ \end{tabular}  } & \multirow{3}{*}{ \begin{tabular}{c} **Neurons** \\ **Per Layer** \\ \end{tabular}  } & \multirow{3}{*}{ \begin{tabular}{c} **Kernel** \\ **Init.** \\ \end{tabular}  } & \multirow{3}{*}{ \begin{tabular}{c} **Iter.** \\ **Ratio** \\ \end{tabular}  } & \multirow{3}{*}{\ \begin{tabular}{c} **Drop.** \\ **Constraint** \\ \end{tabular}  } & \multirow{3}{*}{ \begin{tabular}{c} **Weight** \\ **Size** \\ \end{tabular}  } \\ \hline \multirow{3}{*}{1} & Precision & 0.77 & 256, 128 & He uniform & 1000 & 0.25 & 1 & 0.00001 & 1000 \\  & Recall & 0.81 & 256, 128, 64 & He uniform & 1500 & 0.38 & 1 & 0.00001 & 1000 \\  & F\({}_{1}\) & 0.65 & 256, 256 & He uniform & 1500 & 0.38 & None & 0.00001 & 1000 \\  & AP & 0.81 & 256, 128, 64 & He uniform & 1000 & 0.5 & None & 0.0001 & 1000 \\ \hline \multirow{3}{*}{2} & Precision & 0.8 & 128, 64, 32 & He uniform & 1000 & 0.38 & 3 & 0.00001 & None \\  & Recall & 0.8 & 256, 128, 64 & He uniform & 1000 & 0.38 & 1 & 0.00001 & 500 \\  & F\({}_{1}\) & 0.69 & 256, 128, 64 & He uniform & 500 & 0.38 & 1 & 0.00001 & 500 \\  & AP & 0.81 & 128, 64, 32 & He uniform & 1500 & 0.5 & 3 & 0.0001 & 1000 \\ \hline \multirow{3}{*}{3} & Precision & 1 & 128, 64, 32 & He uniform & 1000 & 0.5 & None & 0.0001 & 1000 \\  & Recall & 0.74 & 256, 128, 64 & He uniform & 1000 & 0.38 & None & 0.00001 & 1000 \\ \cline{1-1}  & F\({}_{1}\) & 0.68 & 128, 64, 32 & He uniform & 1500 & 0.25 & None & 0.00001 & 500 \\ \clineAfter training the best model (the one with the best AP during validation), the three models' performances in the training dataset for different thresholds were compared using their PR curves, as shown in Figure 3.  
Figure 3 shows that model 3 obtained the best results, with an AP of 0.84 over the training data, while models 1 and 2 performed worse, achieving lower APs, as we can see with their curves decaying more rapidly than model 3's curve. Surprisingly, using the h\({}_{\text{max}}\) variable in model 2 made it perform worse than model 1, indicating that this variable makes it more difficult for the model to find the relationship between inputs and outputs. The models' performance at specific points in the PR curve was checked using the 0.25, 0.5, and 0.75 threshold values as representatives of the following:  
* 0.25: a lax model with lower precision but higher recall. * 0.5: a regular model with in-between precision and recall.