## 2 Materials and Methods
### ML Models  
Each ML model offers unique methodologies, algorithms, and mathematical formulations. We employed traditional machine learning models combined with ensemble techniques. A brief description of each model is presented below.  
Decision trees (DT) are hierarchical structures that recursively split the data based on informative features at each node, aiming to maximize information gain or minimize impurity. At each node, the decision rule selects the attribute that best divides the data. The process continues until a stopping criterion is met, resulting in leaf nodes representing the final class predictions. The splitting criteria often include measures like Gini impurity or information gain [32].  
Random forests (RF) are ensemble learning methods that aggregate predictions from multiple decision trees, each trained on random subsets of the data and features. By averaging or voting the predictions of individual trees, random forests improve generalization and reduce overfitting. Each decision tree in the forest operates independently, making predictions based on its subset of the data [33].  
The logistic regression (LRC) model predicts the probability of the positive class using the logistic function. Logistic regression is a linear model used for binary classification, estimating the probability that an instance belongs to a particular class. The logistic function, also known as the sigmoid function, is used to map the output to a probability value between 0 and 1. The model's coefficients are estimated using maximum likelihood estimation [34].  
K-nearest neighbors (KNN) is a non-parametric classification algorithm that makes predictions based on the majority class of its \(k\) nearest neighbors in the feature space. KNN is simple yet effective, as it relies on local information to classify instances. The predicted class for a new instance is determined by a majority vote or weighted vote of its nearest neighbors [35].  
Gradient boosting (GB) is an ensemble learning method that sequentially builds a strong model by combining the predictions of weak learners, typically decision trees. Each new tree corrects the errors of the previous ones, resulting in a highly accurate ensemble model. The prediction of the ensemble is a weighted sum of the predictions of the individual weak learners [36].  
Extreme gradient boosting (XGBoost) is a powerful ensemble learning method that utilizes gradient boosting to sequentially train decision trees and minimize a differentiable loss function. By iteratively adding weak learners, XGBoost improves the model's performance while reducing bias and variance. The objective function in XGBoost comprises a combination of a differentiable loss function and a regularizer term, which is optimized during training [37].  
The hyperparameter settings used to optimize the performance of the ML models and achieve better accuracy are detailed in the Table 3 below.  
These hyperparameter configurations were fine-tuned to achieve optimal performance. For instance, the max_depth parameter in DT and XGB prevents overfitting by limiting the tree depth, while the n_estimators in RF, GB, and bagging enhances predictive stability. Additionally, using random_state ensures reproducibility, and parameters like learning_rate and min_child_weight help balance model complexity and learning efficiency.