## 4 Results
### Gradient Boosting and XGBoost Accuracy, F1 Score, Loss  
In this study, gradient boosting and XGBoost models were utilized to solve the multi-class classification problem, and their performance was analyzed based on accuracy, F1 score, log loss, and the confusion matrix. The classification accuracy of both models is illustrated in Figure 8, providing a visual comparison of their predictive performance. The gradient boosting model achieved a test accuracy of 86.22%, demonstrating high classification performance. The F1 score was 0.8635, indicating a well-balanced trade-off between precision and recall. The log loss was 0.3083, suggesting a small difference between the predicted probability distribution and the actual labels. These results indicate that gradient boosting provided a stable overall performance. On the other hand, the XGBoost model achieved a test accuracy of 86.04%, which was slightly lower than gradient boosting. However, the F1 score was 0.8619, outperforming gradient boosting in terms of balanced class performance. The log loss, shown in Figure 9, was 0.3056, similar to that of gradient boosting, further demonstrating its effectiveness in reducing inter-class confusion.  
Figure 7: MLP and RNN confusion matrix.  
Gradient Boosting and XGBoost Confusion Matrix  
In this study, gradient boosting and XGBoost models were utilized to address the multi-class classification problem, with their performance compared using a confusion matrix, as shown in Figure 10. For the gradient boosting model, class 0 achieved 687 true positives (TPs), demonstrating strong classification performance, with 51 false positives (FPs) (\(48+3\)), indicating a relatively low misclassification rate. Class 1 recorded 625 TPs, but 113 FPs (\(19+94\)) and 19 false negatives (FNs), suggested misclassification between class 1 and class 2. In class 2, the model achieved 597 TPs, but 141 FNs, a relatively high value, suggesting that class 2 significantly overlapped with other classes.  
For the XGBoost model, class 0 recorded 683 TPs, showing similar classification performance to gradient boosting, but FPs increased to 55 (\(52+3\)). In class 1, the model achieved 641 TPs with 97 FPs (\(17+80\)) and 17 FNs, resulting in a lower false-negative rate compared to gradient boosting. This indicates that XGBoost performed better in terms of recall for class 1. In class 2, 581 TPs and 157 FNs were recorded, showing a misclassification rate similar to gradient boosting. The gradient boosting model demonstrated high accuracy on the test data, with strong classification performance in class 0 and class 1. However, its performance declined for class 2 due to the high false-negative rate, limiting its classification effectiveness. On the other hand, while the XGBoost model had slightly lower accuracy, it achieved a higher F1 score, indicating a more balanced performance across classes. Notably, XGBoost reduced false negatives for class 1, resulting in higher recall and a slight reduction in class confusion compared to gradient boosting. However, both models exhibited high false-negative values for class 2, confirming that overlapping data distributions between classes remain challenging.  
Figure 8: Gradient boosting and XGBoost model accuracy.  
Figure 9: Gradient boosting and XGBoost model loss.