## 3 Materials and Methods
### Experiments  
The experiments were carried out using the methodology presented and the meteorological data selected. The reanalysis local variables of the grid are averaged monthly, as well as the variables measured in meteorological stations and the NAO index (Table 2). Initial predictors for the construction of the model totals for 12 predicting variables and one response or class variable, with a total of 492 instances corresponding to the months between the years comprised (1976-2016) [2]. The process to prepare the data for the construction of a machine learning predictive model consisted of three steps: selection, preprocessing, and transformation. During the preprocessing of the data set, outliers and highly correlated predictors were identified and removed. It is very important to observe how the attributes relate to each other. An excellent way to analyze interactions between numerical attributes is calculating correlations between each pair. These pair correlations can be plotted in a correlation matrix to give an idea of which attributes change together. Zero deviations show a more positive or negative correlation. Values above 0.75 or below \(-\)0.75 are perhaps more interesting, as they show a high positive correlation or a high negative correlation. Values 1 and -1 show a full positive or negative correlation. In the graph, it can be seen that some of the attributes are highly correlated (Figure 6). Outliers and highly correlated in data can distort predictions and affect the accuracy. Clustering of the class variable was obtained with the K-medoids clustering algorithm or PAM (Partitioning Around Medoids), which is less sensitive to outliers compared to k-means [64]. The optimal number of clusters determined was two. The first (Cdry) with in the range of [0 to 125] mm/month of rainfall, and the second (Cwet) with [126 to \(\infty\)] mm/month of rainfall. \begin{table}
\begin{tabular}{l c} \hline \hline
**Predictors** & **Representation** \\ \hline Monthly measurements of temperature S. Cruz de Tenerife \({}^{\circ}\)C & _Ts_ \\ Monthly measurements of wind speed S. Cruz de Tenerife in meters per second & _Ws_ \\ Monthly measurements of sea level pressure S. Cruz de Tenerife in millibar & _Ps_ \\ Monthly measurements of relative humidity S. Cruz de Tenerife in \(\infty\) & _RIs_ \\ Monthly measurements of temperature Tenerife North Airport \({}^{\circ}\)C & _Ta_ \\ Monthly measurements of wind speed Tenerife North Airport in meters per second & _Wa_ \\ Monthly measurements of sea level pressure Tenerife North Airport in millibar & _Pa_ \\ Monthly measurements of relative humidity Tenerife North Airport in \(\infty\) & _Rha_ \\ North Atlantic Oscillation & _NAO_ \\ Geopotential Height in 500-hPa & _GPH_ \\ Sea Level Pressure in Pascal & _SLP_ \\ Sea Surface Temperature \({}^{\circ}\)C & _SST_ \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Shortlisted predictors and their representation. The imbalances in the frequencies of the observed classes (unbalanced classes) were treated to avoid having a negative impact on the predictive models. The random sampling (with replacement) carried out allows the minority class to be the same size as the majority class. Predictors were preprocessed so that they would work with the ML algorithm or improve their results [65]. We selected the cases with 80% proportion for training and with 20% proportion for testing in order to estimate how the model would perform with unseen data. Data preprocessing was learned from the training observation and was later applied to the testing set (e.g., centering and scaling of data were carried out). The ML algorithms selected allow the construction of a predictive model that is able to represent the patterns present in the training data set and generalize these in new observations (Table 3). These algorithms are among the most representative (linear, nonlinear, and ensemble) and their optimal hyperparameters are shown in Table 4. The first step in tuning the model is to choose a set of parameters to evaluate.