## 3 Proposed Research Methodology
### Training and Evaluation  
Model training was conducted via the 'tidymodels' R package [69]. All code and model artifacts are available for reproducibility. Training (75%; \(n=2290\)) and test (25%; \(n=764\)) sets were created, with the test set being kept separate until final model validation. Both sets were stratified by the target variable (T1_win) to ensure equal representativeness in each set. To increase generalizability, tenfold cross-validation (of just the training set) was utilized for parameter tuning. A standard logistic regression model was adopted, with the possibility of applying L1/L2 regularization with the 'glmnet' engine should overfitting occur after cross-validation [70]. The hyperparameters for the random forest, Gradient Boost, and XGBoost models were refined using Grid Search. Despite the potential of Bayesian optimization for identifying superior global solutions, Grid Search was chosen for its ability to be parallelized, thereby reducing the computation time. It is noted for its efficiency and effectiveness across both categorical and numeric predictors [71]. All features were standardized using z-score scaling to have a mean of 0 and standard deviation of 1 prior to training. All models were developed using the R package tidymodels for the underlying modeling framework (encompassing compute engines, train/test splits, cross-validation on the training set, and performance metric evaluation against the test set). The logistic regression model was built via the 'glm' engine, the random forest model via the 'ranger' engine, the Gradient Boost model via the 'C5.0' boost_tree engine, and XGBoost via the 'xgboost' engine. Tenfold cross-validation was employed for all models on just the 75% (\(n=2290\)) training data for estimating fit before testing performance of the final model on the unseen 25% (\(n=764\)) test set. Hyperparameters for the tree-based models were tuned via Grid Search, optimizing selected parameters for accuracy. XGBoost and C5.0 employed grid latin hypercubes for the search space, employing tidymodels' auto-calculated ranges based on the feature space. The XGBoost model was sized at 100 trees to optimize training performance within the limited available compute. The hyperparameters tuned for XGBoost were as follows:  
* Tree depth;
* Minimum number of data points at a node for further splitting;
* Minimum loss reduction for a split;
* Fraction of training data used for each tree;
* Number of predictors sampled at each split;
* Learning rate. The C5.0 model was sized at 100 trees, as it typically converges faster than XGBoost (depending on the learning rate XGBoost employs), with more trees being more prone to overfitting as it lacks XGBoost's regularized approach. The hyperparameters tuned for C5.0 were as follows:  
* Minimum number of data points at a node for further splitting;
* Fraction of training data used for each tree. The random forest model tuned the following hyperparameters:  
* Number of predictors sampled at each split;Minimum data points at node for further splitting. Accuracy (Equation (5)) was chosen as the main measure of model performance, as the dataset had negligible class imbalance, which would otherwise make accuracy a misleading metric. For completeness, precision (Equation (6)), recall/sensitivity (Equation (7)), F1 (Equation (8)), and specificity (Equation (9)) will also be examined for the initial model comparisons (in Section 4.1); however, accuracy will be the main metric of interest. Much of the existing literature in this research domain is focused on accuracy as the core metric. This is primarily because datasets are usually well balanced (as is the case in this study), and there are no differential consequences to predicting false positives or false negatives like there might be in other domains (e.g., in healthcare, where false negatives can have dire consequences). Predicting wins and losses are of equal importance, and the accuracy metric captures this requirement best.