TABLE 2.
Selected Hyperparameters and Classification Thresholds
| Tuning | ||
|---|---|---|
| Model | Hyperparametersa | Thresholda,b |
| LDA | n/ac | 0.34 |
| Elastic net | Penalty = 0.0368, mixture = 0.4793 | 0.32 |
| RF | mtry = 3, min_n = 38 | 0.45 |
| KNN | Neighbors = 50, weight function = rectangulard | 0.31 |
| SVM with linear kernele | Cost = 0.0170, margin = 0.0825 | 0.34 |
| XGBoost | mtry = 11, min_n = 5, tree_depth = 8, learn_rate = 0.0074, loss_function = 4.6130, sample_size = 0.6757 | 0.31 |
Hyperparameters are reported to 4 decimal places, performance metrics to 3, and thresholds to 2 for clarity and consistency.
Thresholds were selected to maximize the F1 score on cross validation.
No hyperparameters are applicable for logistic regression and LDA.
Three weighting functions were evaluated for KNN: rectangular (equal weight to all neighbors), Gaussian (exponentially higher weight to closer neighbors), and optimal (automatically selects a kernel function to optimize classification performance).
Three kernel types were evaluated for SVM: linear, polynomial, and radial basis function.
cost = penalty for misclassification; KNN = k-nearest neighbors; LDA = linear discriminant analysis; learn_rate = learning rate for boosting; loss_function = objective/loss function used for optimization; margin = margin width for separation; min_n = minimum observations required to split a node; mixture = proportion of L1 vs L2 penalty; mtry = number of predictors sampled for each split; n/a = not applicable; neighbors = number of nearest neighbors; penalty = overall regularization strength; RF = random forest; sample_size = proportion of training data used in each boosting round; SVM = support vector machines; tree_depth = maximum depth of each tree; weight function = distance weighting method; XGBoost = extreme gradient boosting.