## 2 Materials and Methods
### Deep Learning
A summary of the hyperparameters tested can be consulted in Table 1.  
Models were trained and evaluated using training, validation, and test splits. This is common practice in both Machine and Deep Learning [41, 44, 55]. The train-test split consisted of a 70:30% split ratio, respectively. During training, the training sample was further split using 30% for validation. FFNN were then trained on training and validation data, optimizing weights to improve the accuracy and reduce the loss. Learning curves were plotted to evaluate the increase/decrease of accuracy and loss over each iteration epoch. The metric used to evaluate the learning process while the model was being fit was set to 'accuracy'. These learning curves could then be used to diagnose model behavior, thus evaluating whether the model was under- or overfitting on the training and validation data [44]. Final evaluation of the model was performed using the test set. The model was used to predict this 'unknown' data, recording both the accuracy and the loss obtained when predicting the missing label values from this data. The final metrics employed and evaluated using the test set consisted of sensitivity, specificity, and kappa values obtained via confusion matrices. The kappa (\(\kappa\)) statistic adjusts \begin{table}
\begin{tabular}{l c c} \hline \hline
**Hyperparameter** & **Tested Settings** & **References** \\ \hline Number of Layers & Between 1 and 7 & [41, 42, 44] \\ Node Density * & Between 3 and 20 & [41, 42, 44] \\ Activation Function * & ReLU, Leaky ReLU, Tanh & [49, 50, 51, 52] \\ Kernel Initializer & None, Uniform & [51, 53] \\ Dropout ** & None, Present with a threshold of 0.5 between 0.5 and 0.9 & [54] \\ Weight Regularizer & None, l2 with a threshold between 0.01 and 0.00001 & [53] \\ Weight Constraint & UnitNorm, MaxNorm, MinMaxNorm & [54] \\ Training Epochs & Between 150 and 2000 & [41, 42, 44] \\ Batch Size & 4, 8, 16, 32, 64, 128, 256 & [41, 42, 44] \\ Optimizer & Stochastic Gradient Descent, RMSProp, AdaGrad, Adam & [45, 46, 47, 48] \\ Learning Rate & Between 0.1 and 0.00001 & \\ Decay & Between 0.9 and 0.0001 & \\ Momentum & Between 0.99 and 0.1 & \\ \hline \hline \end{tabular}  
* With exception of the final layer of the network which always consisted of 1 neuron with a sigmoid activation function. ** Positioning of dropout layers within the model’s architecture was also tested.  
\end{table} 
Table 1: List of hyperparameters and settings tested during optimization of final Feed Forward Neural Networks (FFNN) model architecture and configurations. accuracy by considering the possibility of a correct prediction by change alone [55]. The resulting value is presented between \(-1\) and \(1\), with a \(\kappa>0.8\) considered as a powerful predictive model. Sensitivity and specificity tests combine the frequencies and ratios of Type I and Type II statistical errors in proportion with the rest of the confusion matrix [56]. Values between 0 (poor) and 1 (high performing) indicate the predictive power of the model [55; 56; 57]. Further examination of the relationship between sensitivity and specificity in models was performed through the plotting of Receiver Operating Characteristic (ROC) curves and calculation of Area Under Curve (AUC) values [55; 56]. ROC curves and AUC results are interpreted through the amount of space represented underneath the curve: the larger the area (AUC \(\approx 1\)), the more accurate the model is when making predictions [55]. Considering the stochastic nature of FFNNs, evaluation and training was performed 30 times, taking averages of each numeric result to provide the final results. Results across all 30 iterations are provided as Tables S1 and S2. Confidence intervals were then calculated using the 2 nd Standard Deviation (\(\pm 2\)SD), thus representing approximately 95% of the deviation from the mean.