## 4 Experiments and Analysis
### Classification Prediction Experiments  
Using Data Structures course prediction as an example, we designed three different types of performance grade prediction tasks. The first task includes two categories: \"Fail\" and \"Pass\"; the second task includes three categories: \"Fail\", \"Pass\", and \"Excellent\"; the third task includes \"Fail\", \"Pass\", \"Fair\", \"Good\", and \"Excellent\". Macro average refers to the average of a metric calculated independently for each class. This calculation method treats all classes equally, regardless of their support (the number of instances in each class). Weighted average is similar to the macro average, but it accounts for class imbalance by weighting the average of a metric by the number of instances in each class. Therefore, classes with more instances have a bigger impact on the metric. The focus of this paper is on overall performance rather than differences between categories, so the focus here is on overall accuracy. Based on the above results of Table 7, the following analysis conclusions can be made:  
Firstly, the models performed well on the test set, with most models achieving an average precision, recall, and F1-score above 0.9. This indicates their ability to predict both positive and negative cases accurately. Secondly, random forest, SVM, gradient boosting, KNN, and AdaBoost achieved 95% accuracy on the test set, showcasing their strong classification abilities. Thirdly, the models exhibited excellent prediction performance on positive cases (Pass), with an accuracy of 0.95, recall of 1.00, and F1-score of 0.98. However, there were four instances where the models incorrectly predicted negative cases (Fail). This could be due to the similarities between the characteristics of these samples and positive and negative cases, making accurate classification challenging. Figure 3: Precision comparison of the four types of regression algorithms. Lastly, weighted average measures indicate stable performance of all models on the test set, with a precision rate of 0.91, recall of 0.95, and F1-score of 0.93. This suggests that the models have robust generalization abilities across different sample classes. Based on the above results of Table 8, the following analysis conclusions can be made:  
Firstly, the models had poor prediction performance on the \"Fail\" category, with precision, recall, and F1-score of 0.00. This is likely due to the small number of samples in this category, making it difficult for the models to accurately predict. Secondly, on the \"Pass\" category, all models performed relatively well, with precision between 0.75 and 0.77, recall between 0.78 and 0.89, and F1-score between 0.77 and 0.82. This indicates that the models are able to identify positive cases with a decent level of accuracy. Thirdly, for the \"Excellent\" category, the models also showed relatively good prediction performance, with precision between 0.62 and 0.75, recall between 0.59 and 0.69, and F1-score between 0.64 and 0.68. However, the recall rate was slightly lower compared to the \"Pass\" category, suggesting that the models may struggle to correctly identify all instances of \"Excellent\". Based on the evaluation metrics provided, it seems that all models have challenges in predicting the \"Fail\" category. This is evident from the precision, recall, and F1-score values of 0.00 for the \"Fail\" category in all models. On the other hand, the models perform relatively better in predicting the \"Pass\" and \"Excellent\" categories, with precision values ranging from 0.75 to 0.77, recall values ranging from 0.62 to 0.89, and F1-score values ranging from 0.68 to 0.82 across the models.