Skip to content

Who Invented kNN?

1- kNN Original Paper

kNN was invented by Joseph L. Hodges Jr. and Evelyn Fix in 1951 while they were working for the United States Air Force.

Statistician duo was assigned a project in the USAF regarding a non-parametric classification algorithm which evolved to become k-Nearest Neighbor algorithm after the Second World War.

You can find a link to the original paper on The Open University page here.

The original kNN paper was never published and it consists of a report of authors’ work in the USAF.

Joseph L. Hodges Jr. and Evelyn Fix pioneered important concepts in nonparametric discriminant analysis and probability density estimation which are still relevant and utilized.

2- Fuzzy kNN and Further Research

In August 1985, James M. Keller, Michael R. Gray and James A. Givens introduced fuzzy kNN (fkNN) which means, that, instead of clear set designation, fuzzy sets are introduced to kNN resulting in a fuzzy version of the algorithm.

Many studies ensued the original kNN and fuzzy kNN papers. A good example is Haibin Zhu et al.’s:

In this research study authors aimed to improve kNN’s classification precision based on training data with uneven density. It can be an interesting read for someone who is interested in k-Nearest Neighbors algorithm and text categorization.

in terms of disposition and Bayesian prediction..

Definition of fuzzy algorithm on The Free Dictionary by Farlex:

An ordered set of instructions, comprising fuzzy assignment statements, fuzzy conditional statements, and fuzzy unconditional action statements, that, upon execution, yield an approximate solution to a specified problem.


Thanks for visiting our Machine Learning Tutorial

To sum things up, kNN was first introduced by two scientists named Joseph L. Hodges Jr. and Evelyn Fix while they were working on a USAF project in 1951.

kNN is a fascinating machine learning algorithm because it is so simple to understand yet it produces such accurate results in a surprising way.

In this kNN article we’ve also discussed some of the promising research regarding improvements on the original kNN algorithm.

To see a working kNN implementation you can visit the tutorial below: