k-Nearest Neighbors

This algorithm belongs to a particular family called instance-based (the methodology is called instance-based learning). It differs from other approaches because it doesn't work with an actual mathematical model. On the contrary, the inference is performed by direct comparison of new samples with existing ones (which are defined as instances). KNN is an approach that can be easily employed to solve clustering, classification, and regression problems (even if, in this case, we are going to consider only the first technique). The main idea behind the clustering algorithm is very simple. Let's consider a data generating process pdata and a finite a dataset drawn from this distribution:

Each sample has a dimensionality equal ...

Get Python: Advanced Guide to Artificial Intelligence now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.