# Traffic Classification in Software-Defined Networking Using Genetic Programming Tools
## 3 Results  
The used software was coded in ANSI-C++ with the assistance of the freely available GenClass version 1.0 software to create classification programs. The software is available from the relevant url [[https://github.com/itsoulos/GenClass/](https://github.com/itsoulos/GenClass/)]([https://github.com/itsoulos/GenClass/](https://github.com/itsoulos/GenClass/)) (accessed on 23 July 2024). Furthermore, the software QFc version 1.0 is used to create artificial features with the assistance of Grammatical Evolution. The software [42] is available freely [[https://github.com/itsoulos/QFc/](https://github.com/itsoulos/QFc/)]([https://github.com/itsoulos/QFc/](https://github.com/itsoulos/QFc/)) (accessed on 23 July 2024). All experiments were conducted on an AMD Ryzen 5950X with 128 GB of RAM, running Debian Linux. To validate the results, ten-fold cross-validation was used. In this technique, the original dataset was divided into ten partitions. Nine of the partitions created were used for training and the remainder for testing, and this process was repeated ten times. The final classification error was the average test error for the test partitions. All the experiments were executed 30 times, using different seed for the random generator each time and the average classification error is reported. The simulation parameters for the used optimization techniques are listed in Table 4. The values of these parameters have been used in the past in a number of research publications and represent a compromise between the reliability of the techniques and the speed of their execution. The experimental results are outlined in Table 5. The rows in this table have the following meaning:  
1. The row MLP stands for a neural network [32; 33] with \(H\) hidden nodes that was trained with the application of the BFGS optimization method [34]. 2. The row SVM stands for the application of Support Vector Machine on the proposed dataset. The LibSVM implementation [43] was used in the conducted experiments. 3. The row TREE refers to the application of Decision Trees to the objective problem using the freely available software [[https://github.com/ikeofilic1/dtrees](https://github.com/ikeofilic1/dtrees)]([https://github.com/ikeofilic1/dtrees](https://github.com/ikeofilic1/dtrees)) (accessed on 28 August 2024). 4. The row FC2 (RBF) denotes the application of the feature construction technique. The method was used to construct \(N_{F}\) artificial features and these features were evaluated using an RBF network with \(H\) weights. \begin{table}
\begin{tabular}{c c c} \hline \hline
**Parameter** & **Meaning** & **Value** \\ \hline \(N_{c}\) & Number of chromosomes/particles & 500 \\ \hline \(N_{g}\) & Maximum number of allowed generations & 200 \\ \hline \(N_{f}\) & Number of produced artificial features & 2 \\ \hline \(H\) & Number of weights for neural network & 10 \\ \hline \(p_{s}\) & Selection rate & 0.90 \\ \hline \(p_{m}\) & Mutation rate & 0.05 \\ \hline \hline \end{tabular}
\end{table} 
Table 4: The values used for the parameters in the conducted experiments. The row FC2 (MLP) represents the application of the feature-construction technique to create \(N_{F}\) artificial features. The produced features are evaluated using a neural network with \(H\) hidden nodes. 6. The row GENCLASS denotes the usage of the GenClass method to produce classification rules. As was observed from the results described in Table 5, the GenClass method results in a very low average classification error, which is 0.58%, in contrast to other applied methods where the error is much higher and ranges from 7.64% to 20.38%. As mentioned above, the training of the model was conducted through cross-validation, which, according to [PERSON] et al. (2018), leads to a decrease in the correct classification rate. However, this assumption for the GenClass case is not confirmed.