# Trade-Off Analysis of Hardware Architectures for Channel-Quality Classification Models
## 4 Methods
### Hyperparameter Configurations  
One of the more common techniques for examining an algorithm hyperparameter configuration is to establish the exploration sets manually [49]. Continuous and discrete hyperparameters allow controlling the training process by regulating the behavior of the ML algorithms. We implemented several experiments considering a range of hyperparameters (manually established), Table 2. We selected the best configuration for each ML algorithm with the balanced accuracy metric as a target, implementing a grid search to carry out the hyperparameter tuning task to obtain the highest score using cross-validation folds. The final configuration for each ML algorithm is shown in column Configuration of Table 2. Python was the selected programming language since it contains specialized libraries for Machine Learning. Python was executed on a cloud service called Google Colab, allowing the use of CPUs and GPUs from Google. In this case, the provided equipment was an Intel Xeon CPU 2.20 GHz.  
\begin{table}
\begin{tabular}{c c c} \hline \hline \multicolumn{3}{c}{**(a) Inputs and Outputs Attributes**} \\ \hline \multicolumn{3}{c}{**Attributes**} \\ \hline \multirow{7}{*}{Inputs} & rsp \\  & rsqr \\  & macStats\_phr \\  & macStats\_totalBytesSdusDI \\  & macStats\_totalTbsDI \\  & macStats\_totalTduDI \\  & macStats\_totalTpuDI \\  & macStats\_totalTduUI \\  & macStats\_totalPrbDI \\  & macStats\_totalTbsDI \\  & pdcpStats\_pkIdx \\  & pdcpStats\_pktkRxSn \\  & pdcpStats\_pktTxSn \\  & pdcpStats\_pktRxBytes \\  & pdcpStats\_pktTxW \\ \hline \multicolumn{3}{c}{Outputs} & Low Quality \\  & High Quality \\ \hline \multicolumn{3}{c}{**(b) Channel Quality Indicator Defined by the 3 rd Generation Partnership Project with the Proposed Label**} \\ \hline \multicolumn{3}{c}{**(c)0**} & \multicolumn{1}{c}{Out of Range} \\ \hline \multicolumn{3}{c}{1} & QPSK & 78 & 0.1523 \\ \multicolumn{3}{c}{2} & QPSK & 120 & 0.2344 \\ \multicolumn{3}{c}{3} & Low Quality & QPSK & 193 & 0.3770 \\ \multicolumn{3}{c}{4} & QPSK & 308 & 0.6016 \\ \multicolumn{3}{c}{5} & QPSK & 449 & 0.8770 \\ \multicolumn{3}{c}{6} & QPSK & 602 & 1.1758 \\ \hline \multicolumn{3}{c}{7} & \multicolumn{3}{c}{16 QAM} & 378 & 1.4766 \\ \multicolumn{3}{c}{8} & \multicolumn{3}{c}{16 QAM} & 490 & 1.9141 \\ \multicolumn{3}{c}{9} & \multicolumn{3}{c}{16 QAM} & 616 & 2.4063 \\ \multicolumn{3}{c}{10} & \multicolumn{3}{c}{64 QAM} & 466 & 2.7305 \\ \multicolumn{3}{c}{11} & High Quality & 64 QAM & 567 & 3.3223 \\ \multicolumn{3}{c}{12} & \multicolumn{3}{c}{64 QAM} & 666 & 3.9023 \\ \multicolumn{3}{c}{13} & \multicolumn{3}{c}{64 QAM} & 772 & 4.5234 \\ \multicolumn{3}{c}{14} & \multicolumn{3}{c}{64 QAM} & 873 & 5.1152 \\ \multicolumn{3}{c}{15} & \multicolumn{3}{c}{64 QAM} & 948 & 5.5547 \\ \hline \hline \end{tabular}
\end{table}
Table 1: Inputs and Outputs Attributes of the ML models and the Proposed CQI Label.  
For finding the hyperparameters described in Table 2, we followed the subsequent process: (1) The ML algorithm was selected: Random Forest, Decision Tree, MLP, CNN, Logistic Regression, or SVM; (2) the hyperparameter range for the selected ML algorithm was established, and we established different values for every hyperparameter to explore several combinations; (3) techniques for imbalanced datasets were established, and we applied two types, data-level (random undersampling, random oversampling, and SMOTE-Tomek [50]) and algorithm-level (balanced weights and cost-sensitive); and (4) for each technique toward imbalanced data sets, a hyperparameter search was implemented using the selected ML algorithm, its hyperparameter range, stratified k-fold cross-validation, and the balanced accuracy for evaluation. The ML algorithm was trained with the first hyperparameter combination using stratified k-fold cross-validation with \(k=10\) over the training set. The process was repeated until all possible hyperparameter combinations had been evaluated.