## 5 Evaluation and Research Findings  
Before proceeding to this section, it is essential to present a thorough overview of the testing process. Figure 3 visually depicts the steps involved in this testing procedure, showcasing the methodology we utilized to assess the model's performance. This flowchart acts as a roadmap for comprehending the systematic approach we adopted during testing, emphasizing the key stages from model selection to performance evaluation. To implement this prediction, we employed the widely-used Python library, scikit-learn. This library provides robust tools for machine learning tasks, including ridge regression, which is well-suited for handling correlation and reducing overfitting in our predictive models. Using scikit-learn, we first trained the ridge regression model on our dataset, leveraging its regularization capabilities to enhance prediction stability. Subsequently, we applied this \begin{table}
\begin{tabular}{c c c c c c c} \hline \hline
**Model** & **MSE** & **MAE** & **MedAE** & **R\({}^{2}\)** & **EVS** & **RMSE** \\ \hline LR & 0.0005 & 0.0094 & 0.0035 & 0.953 & 0.9534 & 0.0226 \\ Ridge & 0.0005 & 0.0094 & 0.0035 & 0.953 & 0.9534 & 0.0226 \\ Lasso & 0.0066 & 0.0531 & 0.0412 & 0.396 & 0.3958 & 0.0814 \\ EN & 0.0044 & 0.0418 & 0.0307 & 0.596 & 0.5960 & 0.0666 \\ DT & 0.0002 & 0.0027 & 0.0002 & 0.985 & 0.9835 & 0.0124 \\ RF & 0.0001 & 0.0014 & 0.0002 & 0.995 & 0.9953 & 0.0071 \\ GB & 0.0002 & 0.0064 & 0.0031 & 0.986 & 0.9859 & 0.0124 \\ AB & 0.0033 & 0.0517 & 0.0514 & 0.703 & 0.9095 & 0.0569 \\ KNN & 0.0065 & 0.0507 & 0.0318 & 0.404 & 0.4093 & 0.0809 \\ MLP & 1.5914 & 0.8949 & 0.7981 & \(-\)146.530 & \(-\)6.6540 & 1.0822 \\ \hline \hline \end{tabular}
\end{table} 
Table 8: Average performance metrics of machine learning models (calculated using K-fold cross-validation). trained model to predict \(xGg\) and \(aGg\) values based on relevant input features derived from our data preprocessing and feature engineering steps. In this section, we present our results on predicted \(xGg\) and predicted \(aGg\). In the previous section, we identified ridge regression (RR) as the optimal model for our dataset through comparative evaluation. Consequently, we utilized the RR model to predict both \(xGg\) and \(aGg\). This choice was informed by its demonstrated superiority in handling our dataset's characteristics and achieving accurate predictions. First, we identified the top five players in our dataset who excelled according to their \(aGg\) as illustrated in Table 9. Moreover, in this study, we opted to use player IDs instead of names for several reasons. Player IDs provide a unique identifier for each player, minimizing confusion in cases where players share similar or common names. Additionally, using player IDs preserves the anonymity of players, especially in research involving sensitive data or personal information. This approach ensures the integrity and confidentiality of the data while allowing for efficient analysis. We analyze the differences in performance between the players based on their actual goals per game (\(aGg\)) values. * Player ID 227: This player stands out with the highest actual goals per game value of 1.41. This is a significant achievement compared to the other players in the table. * Player ID 2371: This player follows closely behind with a actual goals per game value of 1.37, which is just 0.04 lower than Player ID 227. The small difference indicates comparable performance levels between the two players. Figure 3: Testing process overview. \begin{table}
\begin{tabular}{l c} \hline \hline
**Player ID** & **Actual Goals per Game (\(aGg\))** \\ \hline
227 & 1.41 \\
2371 & 1.37 \\
2098 & 1.14 \\
2097 & 1.13 \\
2099 & 1.10 \\ \hline \hline \end{tabular}
\end{table} 
Table 9: Top players with maximum \(aGg\) (in descending order). * Player ID 2098: The actual goals per game value for this player is 1.14, which is noticeably lower than the top player (227) by 0.27 and lower than Player ID 2371 by 0.23.