## 2 Materials and Methods
### Hyperparameters
A Regularized Discriminant Analysis, labeled RDA, was utilized with shrinkage set to 'auto', solver selected as 'lsqr', alongside covariance_estimator left as None, in addition to other defaults that shape its linear transformations. Another discriminant strategy, LDA, relied on the default solver'svd', with shrinkage absent, tol at 0.0001, plus n_components left out, which gave a tangible dimension to class separation. Later, an SVM classifier was tested using alpha = 1.0, fit_intercept set to True, copy_X = True, plus other default settings typical of linear methods. Cat Boost was configured with learning_rate = 1, depth = 2, loss_function = MultiClass, in a CPU variant as well as a GPU version labeled Cat Boost GPU, providing variety in computational back-ends. Another standard approach was Support Vector classification, indicated as SVM, tested under linear kernels, otherwise radial bases, with C = 1.0, degree = 3, gamma set to'scale', plus kernel chosen as 'linear' in one scenario. LightGBM was configured with boosting_type = 'gbdt', learning_rate = 0.1, n_estimators = 100, plus num_leaves = 31, with parallel usage unspecified. Additional neural structures included GRU layers on CPU, with 935,424 parameters in the GRU plus a linear segment with 645 parameters, signifying a moderate recurrent configuration. Another approach was a perceptron with a single linear transformation, either on CPU or GPU, with 10,245 trainable weights. Alongside those, AdaBoost was established with n_estimators = 50, learning_rate = 1.0, though its parameter algorithm was labeled 'deprecated', leaving a typical adaptive weighting procedure. A neural network was tested on both CPU and GPU, utilizing the Adam optimizer. The architecture featured sequential linear blocks with layer sizes of 1,049,088; 131,328; and 32,896, combined with dropout layers. A simple RNN approach was included with an RNN portion containing 311,808 parameters, also accompanied by a final 645-parameter projection. Cat Boost was tried multiple times for deeper coverage, repeated in CPU or GPU forms, to determine consistent success with tree-based gradient boosting. GaussianNB used var_smoothing = \(1\times 10^{-9}\) in a default sense, illustrating a naive Bayes direction. Meanwhile, linear models were tried with max_iter = 500, tol = 0.0001, solver = 'lbfgs', providing stable training. Another pipeline integrated a BernoulliRBMto transform input data, using n_iter = 10, n_components = 256, and batch_size = 10. Additional stacking ensembles were generated by combining random forests with linear support vector pipelines, culminating as the meta-learner. LightGBM repeated consistent parameters to detect performance stability across uncertain data splits. Another alternative, GRAD Boost, was configured with loss set to 'log_loss' at learning_rate = 1.0, n_estimators = 100, max_depth = 1, thus limiting complexity. A CNN labeled VGG-16 was initiated from scratch in CPU mode, with a large count of parameters across sequential convolutional layers, all used for image-like data. A vision transformer approach labeled VIT-FT employed partial fine-tuning, leaving most parameters locked while a final linear module with approximately 3845 trainable weights was updated. That model was run in cuda mode. Each technique was measured with relevant metrics, forming a broad exploration of parametric possibilities across classification contexts. One observation arises from attempts to unify multiple smaller modules. Bagging, for example, implements parallel decision-tree fits. That approach partitions data into multiple subsets, which might appear beneficial, though repeated overhead from re-initializations can become considerable. Some teams mitigate this phenomenon by persistent caching, but environment constraints might limit that possibility. Hence, synergy among hyperparameters needs to be viewed from a computational perspective: repeated cross-validation means each parameter setting is multiplied by the number of folds.