# QUIC Network Traffic Classification Using Ensemble Machine Learning Techniques
## 5 Experiments
### QUIC Traffic Classification
\begin{table}
\begin{tabular}{l l l l l l l} \hline \hline \multirow{2}{*}{**Model**} & \multirow{2}{*}{**Precision**} & \multirow{2}{*}{**Recall**} & \multirow{2}{*}{**F1-Score**} & \multirow{2}{*}{**Accuracy**} & \multicolumn{2}{c}{**10-Fold Cross-Validation Acc.**} & \multicolumn{1}{c}{**Training Time (s)**} \\  & & & & & & \\ \hline RF & 87.42 & 85.60 & 85.30 & 85.60 & 89.72 & 12.52 \\ \hline ET & 85.39 & 84.20 & 84.00 & 84.20 & 86.45 & 6.53 \\ \hline GBT & 88.70 & 87.80 & 87.76 & 87.80 & 90.22 & 117.76 \\ \hline XGBT & 91.56 & 90.80 & 90.75 & 90.80 & 93.29 & 77.58 \\ \hline LGBM & 92.15 & 91.40 & 91.34 & **91.40** & **94.04** & 29.70 \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Results on the test set with 30 packets as input. \begin{table}
\begin{tabular}{l l l l l l l} \hline \hline \multirow{2}{*}{**Model**} & \multirow{2}{*}{**Precision**} & \multirow{2}{*}{**Recall**} & \multirow{2}{*}{**F1-Score**} & \multirow{2}{*}{**Accuracy**} & \multicolumn{2}{c}{**10-Fold Cross-Validation Acc.**} & \multicolumn{1}{c}{**Training Time (s)**} \\  & & & & & & \\ \hline RF & 87.61 & 85.80 & 85.59 & 85.80 & 89.47 & 9.63 \\ \hline ET & 86.67 & 85.40 & 85.24 & 85.40 & 86.43 & 3.59 \\ \hline GBT & 88.30 & 87.40 & 87.37 & 87.40 & 89.96 & 58.01 \\ \hline XGBT & 91.52 & 91.00 & 91.02 & 91.00 & 91.67 & 50.16 \\ \hline LGBM & 91.94 & 91.60 & 91.61 & **91.60** & **92.31** & 22.7 \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Results on the test set with 15 packets as input. \begin{table}
\begin{tabular}{l l l l l l l} \hline \hline \multirow{2}{*}{**Model**} & \multirow{2}{*}{**Precision**} & \multirow{2}{*}{**Recall**} & \multirow{2}{*}{**F1-Score**} & \multirow{2}{*}{**Accuracy**} & \multicolumn{2}{c}{**10-Fold Cross-Validation Acc.**} & \multicolumn{1}{c}{**Training Time (s)**} \\  & & & & & & \\ \hline RF & 86.92 & 85.20 & 84.95 & 85.20 & 89.70 & 13.94 \\ \hline ET & 85.66 & 84.40 & 84.12 & 84.40 & 85.95 & 4.48 \\ \hline GBT & 90.23 & 89.40 & 89.31 & 89.40 & 90.99 & 155.32 \\ \hline XGBT & 93.07 & 92.20 & 92.17 & 92.20 & 93.20 & 105.12 \\ \hline LGBM & 93.31 & 92.80 & 92.77 & **92.80** & **93.80** & 35.94 \\ \hline \hline \end{tabular}
\end{table} 
Table 5: Results on the test set with 40 packets as input. With 100 features (i.e., 50 packets are used as input), Table 6 shows that the highest scores of accuracy and F1 in the holdout scenario are 92.40 and 92.36, respectively, achieved by LGBM. For the cross-validation training scenario, the highest accuracy is 94.04%, and the lowest accuracy is 87.42% achieved, respectively, by LGBM and ET. The scores of all metrics for both training scenarios when using 60 packets' features as input are shown in Table 7. From the table, the highest and the lowest precision scores are 94.03 and 84.55 for LGBM and ET, respectively. The highest accuracy is 94.80% for the cross-validation scenario, which, again, is achieved by LGBM. It is emphasized that the performance scores of ET in the holdout scenario decreased in this experiment, though the cross-validation accuracy increased compared to previous experiments. The performance scores of all five techniques trained on both scenarios of holdout and cross-validation using 80 and 100 packets are shown in Tables 8 and 9, respectively. Significant improvement in performance in both RF and ET is observed, compared to previous experiments. It is also interesting to mention that the performance of XGBT and LGBM has almost no significant improvement in these sets of experiments. \begin{table}
\begin{tabular}{l l l l l l l} \hline \hline
**Model** & **Precision** & **Recall** & **F1-Score** & **Accuracy** & **10-Fold Cross-Validation Acc.** & **Training Time (s)** \\ \hline RF & 88.00 & 86.40 & 86.24 & 86.40 & 90.51 & 15.44 \\ \hline ET & 85.52 & 84.60 & 84.36 & 84.60 & 87.42 & 5.09 \\ \hline GBT & 89.02 & 88.20 & 88.12 & 88.20 & 91.21 & 199.23 \\ \hline XGBT & 92.26 & 91.60 & 91.58 & 91.60 & 93.14 & 119.82 \\ \hline LGBM & 92.79 & 92.40 & 92.36 & **92.40** & **94.04** & 41.13 \\ \hline \hline \end{tabular}
\end{table}