## 2 Materials and Methods
### Hybrid Classifiers
The higher the value of _alpha_, the smaller training set size \(S\) the GA searches for, probably at the expense of accuracy. That is, the GA may achieve a very small \(S\), but this implies that the accuracy may also decrease. Thus, _alpha_ is a factor that balances the two objectives that the GA searches to achieve in order to maximize \(f\). _Roulette-wheel selection_ was implemented for parent selection and _elitism_ was also activated so that the best two individuals of a generation automatically generated clones in the next generation [40]. In this paper, we implemented three hybrid classification algorithms. In the first of these algorithms, a GA was combined with the simple classification algorithm _K-Nearest Neighbors_ (GA-KNN). The aim was to find the smallest training set possible for which all the remaining cases that construct the test set are classified by the trained algorithm with an accuracy as high as possible. In other words, the GA-KNN algorithm searched for the smallest set of cases (training set) that could be considered as possible nearest neighbors to any case of the test set in order to classify that case of the test set correctly. The second hybrid algorithm combined a GA with the simple _k-means_ clustering algorithm (GA-KMEANS). In this case, the GA searched for the smallest set of cases (training set) for which the centroidsof the two clusters that were formed out of that training set could be considered for the classification of the cases of the test set with an accuracy as high as possible. In the third hybrid algorithm that was implemented, the task was to group the cases into two clusters without the use of the _k-means_ classifier by performing _genetic clustering_ (GACLUST). In this case, the genomes of the individuals of the GA consisted of \(N=660\) bits, with each gene corresponding to a case in the dataset. Each individual in the GA defined the training set and the test set in the same way as the two aforementioned hybrid algorithms, i.e., a gene with a value of 1 indicated that the corresponding case was included in the training set, whereas a gene with a value of 0 indicated that the corresponding case was included in the test set. The centroids of the two clusters were calculated based on the cases of the training set and the training procedure of the algorithm. Then, these centroids were used for the classification of the remaining cases, i.e., the cases that construct the test set. According to this procedure, the classification accuracy was evaluated based on the cases of the test set that were unseen during the training procedure. The classification of the cases of the test set was performed in the following manner: the Euclidean distances of each case of the test set with respect to the centroids derived from the training set were calculated; then, the algorithm classifies each specific case of the test set into the group with the smaller distance with respect to the two centroids. All three hybrid algorithms presented above give as output the training set, as well as plots of the evolution of the size of the training set \(S\) and the corresponding classification accuracy \(acc\) performed on the test set. The plotted values of \(S\) and \(acc\) correspond to the ones of the best individual of each generation of the GA population, i.e., the individual with the highest value of the fitness function \(f\). It is reasonable to ask if the GA search for the minimized training set size \(S\) and its optimization regarding the cases that it consists of could possibly lead to overfitting if the hybrid algorithms as a side effect. To examine this issue, a second dataset (set 2) was generated independently by the same means that were also used to generate the original dataset (set 1). This gave us the ability to examine if any overfitting effects emerged.