## 2 Methods and Materials
### Machine-Learning Algorithms  
In an attempt to maximize the analysis of the evaluation potential of this work, and also with the intention of not being limited by the capacity of reduced number of algorithms, a wide exercise in terms of the number of methods is considered. From a methodological standpoint, ML algorithms evaluated and benchmarked in this paper, could be structured in three main groups: tree-based methods, SVR and GPR algorithms. For reader convenience, and taking into account the broad analysis presented in this paper, here follows a summarized descriptive introduction of these methods, where additional references are cited for deeper consideration. _Decision trees_ are techniques that where proposed for the first time in 1963 [26], and they can be applied to both regression and classification problems [27; 28]. Trees are binary recursive partitions, which means that each parent node splits into two child nodes, and each child node will in turn become a parent node unless it is a terminal node. To start with, a single split is made using one single explanatory variable, in such a way that the variable and the location of the split are chosen to minimize the impurity of the node. The measurement of impurity depends on type of tree, and classification trees use deviance, gini index, or entropy; whereas regression trees often use the reduction in variance. In general, zero (unit) impurity means absolute order (disorder) [28; 29]. For the construction of the decision trees, we followed an ID3 (iterative dichotomization 3) algorithm, which chooses the variable with the highest impurity values to be divided into two spaces and by doing that it yields two newly obtained branches and nodes in each step [30]. _Bagging (Bootstrap Aggregating)_ and boosting trees are ensemble learning algorithms. Bagging is often used when our goal is to reduce the variance of a decision tree, thus leading to improved prediction. The main idea of this learning strategy is to create subsets of data from a training sample, chosen at random, in such a way that each subset is used to train decision trees as described above. As a result, a set of different models is created, and the average of all the predictions from the different trees is eventually provided, which has been shown to be far more robust than the isolated prediction based on a single decision tree [28; 31]. _Boosting trees_ is another ensemble technique used to create a collection of predictors, which uses a weighted average of results obtained from applying a prediction model to various samples. The samples used at each step are not all drawn in the same way from the same population, but instead the incorrectly predicted cases in a given step are given increased weight during the next step, which is more likely to make them classified correctly. By combining the whole set, a better performing model is eventually obtained. Because our goal is a continuous variable associated with a regression problem, we used variance reduction through its standard formulation in order to set the division criterion, in which the lowest variance is chosen to divide the population [28; 32]. The _Supported Vector Machine (SVM)_ algorithms usually consider several (and often many) predictor variables as well as non-linear relationships. Whenever the relationships among predictor variables are non-linear, suitable kernel functions can be used, and in particular Mercer kernels can be used to implicitly project the input variables onto a higher-dimensional space, in which can find a linear solution in terms of a hyperplane can be obtained to represent the regression among input and output variables [33]. The SVM concept was introduced by [PERSON] [34], and it can be used for both classification and regression tasks. SVR have been widely applied in different fields due their advantages when working with high-dimensional input spaces and robustness against outliers.