# Child's Target Height Prediction Evolution
## 4 Work Methodology Proposed
### Evaluation  
Through the output of the data mining process, we have obtained several models that can forecast the child \"target\" height. Ten of those models have overcome the results obtained on the state-of-the-art reference model, Mid-Parental Method, and two of the models produced, XGB and LightGBM, with significant improvements. These two models have achieved the second goal defined in the business understating phase, improving the existing prediction accuracy. Considering these results, it was possible to proceed to the next phase. Regarding the computation resources consumption between different methods, we can verify that memory consumption presents a low variance (15%) with a minimum of 140 Mb and a maximum of 163 Mb. In our option, there was not a significant difference, even when dealing with large files, considering the availability of resources nowadays. We can divide algorithms into four classes based on CPU time. The algorithms on the milliseconds range (i.e., Linear, SGD or KNeighbors), those on the tens of milliseconds range (i.e., AdaBoost or 26.6 ms), the class for the hundreds of milliseconds (i.e., SVR RBF or LightGBM), and finally the SVR Poly on the long-time processing class. The CPU consumption is directly proportional to the algorithm's complexity and it was expected to have a low processing consumption for a \"simple\" linear regression and bigger processing needs for support vector regressions. Remembering that linear regression method builds a linear equation (i.e., y = \(\beta 0+\beta 1\times 1\)) that fits the best linear relationship between a set of input data to predict the output value, while SVR algorithms try to fit data using a hyper-plane where the support vectors threshold can assume different shapes (including nonlinear). These can vary according to the kernel defined as parameter [41; 42]. Focusing on the algorithms that present the best improvements, XGB and LightGBM, we can observe a huge difference on the CPU consumption, where the last requests quadruple the time consumed by the first one. \begin{table}
\begin{tabular}{c c c c} \hline \hline  & **CPU Time Mean** & **CPU Time Std** & **Memory Consumption (MB)** \\ \hline Linear & 1.87 ms & 20 \(\upmu\)s & 138.44 \\ SVR RBF & 197.00 ms & 3.33 ms & 141.62 \\ SVR Linear & 101.00 ms & 1.66 ms & 140.76 \\ SVR Poly & \textgreater{}10.00 m * & * & * \\ SVR Sigmoid & 11.60 ms & 211 \(\upmu\)s & 156.61 \\ Lasso & 1.50 ms & 26.2 \(\upmu\)s & 156.87 \\ Elastic Net & 1.65 ms & 58.1 \(\upmu\)s & 154.52 \\ Ridge & 1.18 ms & 39.8 \(\upmu\)s & 154.91 \\ KNeighbors & 868 \(\upmu\)s & 34.8 \(\upmu\)s & 156.00 \\ Bayesian & 1.44 ms & 33.7 \(\upmu\)s & 156.02 \\ AdaBoost & 15.00 ms & 260.0 \(\upmu\)s & 156.19 \\ SGD & 5.85 ms & 68.4 \(\upmu\)s & 156.32 \\ Decision Tree & 1.36 ms & 28.8 \(\upmu\)s & 156.57 \\ XGB & 26.6 ms & 1.01 ms & 157.84 \\ LightGBM & 107.00 ms & 1.26 ms & 163.16 \\ \hline \hline \end{tabular}  
* the purpose of this analysis is to compare execution consumptions which usually stand on the millisecond scale. Support Vector Regression (SVR) Poly algorithm consumes more than 10 min processing and those we have decided to classify it simply has “long time processing” (>10 m).  
\end{table} 
Table 9: Machine learning algorithms resources comptions. Both algorithms are gradient boosted tree-based ensemble methods. XGB grows trees horizontally, as most of the tree base algorithms, while LightGBM grows tree vertically. That means that LightGBM grows from the leaf with greater loss (leaf-wise), while the other considers the level (level wise), what can reduce loss and result in better accuracy [43; 44; 45]. LightGBM was developed after XGB and uses a novel sampling method called Gradient-based One-Side Sampling. It was developed with the purposes of achieving faster training, lower memory needs and better accuracy. Our results can confirm the accuracy overcome but we observe the inverse for the resources consumption. That can easily be explained as LightGBM was developed for large datasets, which was not the case in our study.