Introduction
All supervised classification models in machine learning work on a primary assumption — examples belonging to the same class must be similar. In fact, in the training phase, a classifier learns the most dominant similarities among examples of the same class, so that new examples can be checked for such similarities. The nearest neighbor classifier directly works off of this assumption. Given any unlabeled example, find its closest neighbors in the feature space and assign the majority label. Although simple, the nearest neighbor classifier is quite a strong classifier, albeit with some severe practical challenges.