Various \(k\) NN based procedures have been proposed to improve the performance of the classical \(k\) NN algorithm. As observations in the neighbourhood of a test point determined by the classical \(k\) NN procedure have equal weights, Bailey et al. [1]} suggested a weighted \(k\)  nearest neighbours (W\(k\) NN) technique based on the distance computed from the test observation to the nearest neighbours. This method improves the performance of the base \(k\) NN in many cases. However, W\(k\) NN is a global procedure as it utilizes all the training samples which makes the method time-consuming. To overcome this problem, others have proposed condensed nearest neighbour (CNN) procedures such as methods given in [2]}, [3]}, [4]}. These methods remove similar data points as they do not add valuable information. Although the CNN procedures boost the query time, there is a possibility to ignore training observations on the boundary as they depend on the order of the dataset. Like the CNN methods, Gyeoffrey et al. [5]} suggested a procedure by ignoring those instances which do not affect the results known as a reduced nearest neighbour (RNN). This procedure removes templates and reduces the data in the training part. However, like the CNN method, the RNN procedure is computationally complex. For further improvement, a model based \(k\) NN procedure is proposed by Guo et al. [6]}. This method uses a function fitted to the training part of the data to predict unseen observations. Like CNN and RNN, this technique also reduces the size of the training data and gives promising results. However, this procedure ignores the marginal observations which lie beyond the region. A more robust procedure called clustered \(k\) NN is proposed in [7]}, to overcome the problem of uneven distribution of observations in training data. This method selects the instances in the neighbourhood from the clusters. Threshold selection used in this method to calculate distances among sample points within clusters is a difficult task and optimization of \(k\)  value for each class is also unknown. Parvin et al. [8]} suggested a modified \(k\)  nearest neighbour (M\(k\) NN) procedure using weights and validity of the observations to predict an unseen sample point. Carlotta et al. [9]} proposed a locally adaptive nearest neighbour classifier for bias reduction known as adaptive metric nearest neighbor algorithm (ADAMENN). Authors have used a Chi-squared distance analysis to calculate a flexible/pliable metric for determining nearest neighbours that are more adaptive to the location of the test point. ADAMENN selects those nearest observations which exhort more importance to the more relevant features as compared to the irrelevant features. Sproull [10]} proposed a \(k\)  dimensional tree nearest neighbour (\(k\) DTNN) technique. This method divides the training observations into half planes to organize the multi-dimensional instances. \(k\) dNN algorithm produces a balance tree and is simple to understand. However, it needs intensive search and slices the data samples into half blindly. Furthermore, it is computationally complex and might miss the structure of the data. Authors in [11]} constructed a hybrid technique based on support vector machine (SVM) and \(k\) NN procedures. Further improvements in the \(k\) NN based techniques can be seen in [12]}, [13]}, [14]}, [15]}, [16]}, [17]}.
