k-Nearest Neighbour Classifiers: 2nd Edition (with Python examples)
This is an incremental update to a technical report, offering a practical resource for practitioners and researchers using nearest neighbour methods in machine learning.
The paper provides an updated overview of k-Nearest Neighbour classification techniques, focusing on similarity measures, computational efficiency, and dimensionality reduction, with added sections on time-series, speed-up methods, and Python code examples.
Perhaps the most straightforward classifier in the arsenal or machine learning techniques is the Nearest Neighbour Classifier -- classification is achieved by identifying the nearest neighbours to a query example and using those neighbours to determine the class of the query. This approach to classification is of particular importance because issues of poor run-time performance is not such a problem these days with the computational power that is available. This paper presents an overview of techniques for Nearest Neighbour classification focusing on; mechanisms for assessing similarity (distance), computational issues in identifying nearest neighbours and mechanisms for reducing the dimension of the data. This paper is the second edition of a paper previously published as a technical report. Sections on similarity measures for time-series, retrieval speed-up and intrinsic dimensionality have been added. An Appendix is included providing access to Python code for the key methods.