backwards-elimination and accept any variable whose $p$-value $\leq$ $0.05$. $RMSE$ measures the standard deviation of the residuals or prediction errors. In determining the model accuracy, we evaluate how small the value of $RMSE$ is considering the range of the dependable variable we are using. In our case, the dependent variable is *execution time* represented on the Y-axis of Figure \[crossvalidation\]. Our general assumption is that in most cases the performance of these phases depends on the amount of data that it processes. This assumption is confirmed in Figure \[genericmodels\]. We can see that, in most cases as we increase the size of the dataset, the processing time generally increases and therefore a possible linear relationship. The last two phases in Figure \[genericmodels\] i.e. shuffle and write have a less linear relationship compared to the first four phases. To select the best learning method, we modelled the data using different Machine Learning (ML) approaches. As shown in Table \[table:rmsersquared\], the best ML approach for both the Shuffle and Write phase is the support vector machine algorithm but not by a wide margin compared to linear regression. The algorithm has the highest R-squared value and the best RMSE in our case. Note 