For the construction of the classification and regression machine learning (ML) models described in this paper, three different ensemble methods were used: (1) Random Forest (RF), (2) categorical boosting (CatBoost) and (3) eXtreme Gradient Boosting (XGBoost). These methods were chosen because of their insensitivity towards feature sets with high levels of multi-collinearity (see the Supplementary Information). In all cases, a random selection of 85% of each dataset was used for training and testing using repeated stratified k-fold cross validation (3 repeats and 5 folds/splits) as implemented in scikit-learn. The remaining 15% of each dataset was used to evaluate the quality of each model (the holdout/validation set) with either the F1-score (if classification) or the mean absolute error and root mean squared error (if regression). The performance metrics obtained during training (from the cross validation runs) were compared to the results obtained by the validation dataset to validate overfitting was not occurring. All features were normalized with scikit-learn's 75 min-max scaler. Feature importances were taken directly from the models generated.