O k-NN (do inglês: k Nearest Neighboors), é um algoritmo utilizado para resolver problemas de classificação. A idéia principal do k-NN é determinar a classe de uma amostra baseado nas suas amostras vizinhas mais próximas. Na figura abaixo, temos uma ilustração do funcionamento do k-NN, onde deseja-se determinar a classe da amostra representada por um 'círculo verde'.
Um executável do algoritmo foi implementado utilizando Java/Swing e disponibilizado na pasta dist. Para executar a aplicação, basta realizar o download do arquivo k-NN.jar e executá-lo:
java -jar k-NN.jar
Também é possível clonar o repositório e realizar a execução direta do fonte.. a classe main para a execução da aplicação é a seguinte:
As principais classes criadas nessa implementação podem ser encontradas nos seguintes pacotes:
Instruções para baixar o fonte diretamente como um projeto maven no eclipse: