I. Introduction
Machine Learning (ML) techniques are widely regarded as the dominant player in variety of application domains [1]–[8]. Defining a certain state-of-the-art algorithm that can solve all kinds of ML problems is very difficult. Some algorithms, such as the well-known KNN algorithm will be dropped from the competition. The disadvantage of KNN algorithm is that it only uses the training set to be stored in a dataset and does not use the training data to learn. The KNN algorithm, shown in Table I, is an instance-based learning algorithm. The two steps for prediction are costly, because each time in the prediction of the unseen data, the KNN classifier starts brute forcing all training instances to its end to find the KNN and then to perform the majority vote, this will be costly in resources and time particularly in case of larger datasets[9]; thus, the KNN classifier is called a lazy classifier [10].