## 5 Proposed Feature Selection Method (A2 BCF)  
A2 BCF algorithm is a novel ABC algorithm for feature selection, inspired by the OPT-ABC algorithm proposed in [32] for hyperparameter tuning purposes. The proposed  
Figure 1: The general schematic approach to ABC-based feature selection. algorithm returns the ideal set of features that increases the classifier's accuracy. Figure 2 shows the schematic flow chart of A2 BCF. In this algorithm, the selected classifier is leveraged on every bit vector of features (features' subset). Since the accuracy depends on the learning algorithms, the method is wrapper-based. Figure 2: The flowchart of the proposed A2 BCF algorithm (stopping criterion could be set to the maximum of number of evaluations or iterations). The steps of the A2 BCF are explained as follows:  
* **Initialization:** Only some solutions are evaluated in this step instead of all the random initial population members. Hence, an agglomerative clustering technique using cosine similarity function is first employed to group the similar or repetitive members of the initial population into the same cluster. As shown in Algorithm 2, we create a population of random food sources (bit vectors). Subsequently, only the representatives (one random member) of each cluster are taken as our new population to be evaluated by the objective function. In other words, the new population is a diversified sample of bit vectors from the original population. The clustering method (agglomerative clustering) used in this study is the most common type of hierarchical clustering and, in our case, the cosine similarity function is used to group the similar objects. Therefore, the most similar bit vectors belong to the same cluster. This approach is inspired by [PERSON] [33] for grouping the binary data samples. After taking all clusters' representatives, inferior food sources are discarded (based on a predefined threshold) from the new population. This is performed by filtering the low-quality representatives to avoid further evaluation of poor food sources. A threshold of 50% is considered in this study to filter the low-quality food sources and focus on the food sources that have the potential to improve in a lower number of iterations. As explained in the feature selection steps using ABC, the algorithm changes only one bit of the vector to exploit the search space. Hence, if a bit vector has poor quality, it takes longer to exploit the food source and reach a high-quality food source. Therefore, early stopping of those food sources helps improve the convergence rate of the exploitation phase. Classification accuracy is computed using 3-fold cross-validation to improve the classifier's reliability. In k-fold cross-validation, the dataset is divided into k equally sized folds and the ML algorithm is executed three times. Cross-validation is a preferred method over a single train-test split that trains on multiple train-test splits and provides a better insight into how well a model performs on unseen data. Equation (5) below shows that we aim to minimize the classification error rate. The accuracy is used in the fitness function to evaluate the quality of food sources. \[fit_{i}=\frac{1}{1+f_{i}}\] (5) and \[f_{i}=Accuracy=\frac{TP+TN}{TP+TN+FP+FN}\] (6) where TP, TN, FP, and FN stand for true positives, true negatives, false positives, and false negatives, respectively. The reason for selecting accuracy as the performance metric is that the Multiple-Institution Database for Investigating Engineering Longitudinal Development (MIDFIELD) dataset used in this study is balanced and has an almost equal number of observations for both classes (54:46 ratio). In binary classification problems, a balanced dataset is one where positive values are approximately same as negative values (in our case, the number of students who graduated/dropped out from a computing field). However, in cases dealing with imbalanced data, other measures such as F1 score are more appropriate and can be used instead of accuracy.