Litcius/Paper detail

k-Nearest Neighbour Classifiers - A Tutorial

Pádraig Cunningham, Sarah Jane Delany

2021ACM Computing Surveys870 citationsDOIOpen Access PDF

Abstract

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 runtime performance is not such a problem these days with the computational power that is available. This article 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 article is the second edition of a paper previously published as a technical report [16]. Sections on similarity measures for time-series, retrieval speedup, and intrinsic dimensionality have been added. An Appendix is included, providing access to Python code for the key methods.

Topics & Concepts

Computer sciencePython (programming language)Curse of dimensionalityClassifier (UML)Nearest neighbor searchNearest neighbourArtificial intelligenceMachine learningk-nearest neighbors algorithmData miningDimensionality reductionPattern recognition (psychology)Programming languageMachine Learning and Data ClassificationTime Series Analysis and ForecastingAlgorithms and Data Compression