KNN, ou "K-Nearest Neighbors" (K-Vizinhos Mais Próximos, em português), é um algoritmo de aprendizado de máquina utilizado principalmente para problemas de classificação e regressão. O funcionamento básico do KNN é o seguinte:
-
Treinamento: O algoritmo não precisa de um treinamento explícito. Ele armazena o conjunto de dados de treinamento e usa-o diretamente quando precisa fazer uma previsão.
-
Classificação ou Regressão:
- Classificação: Quando um novo ponto de dados precisa ser classificado, o KNN calcula a distância entre esse ponto e todos os pontos no conjunto de dados de treinamento. Depois, seleciona os K vizinhos mais próximos (ou seja, os K pontos de dados mais semelhantes). A classe mais comum entre esses K vizinhos é atribuída ao novo ponto.
- Regressão: Em vez de escolher a classe mais comum, o KNN calcula a média (ou outra medida) dos valores das variáveis de saída dos K vizinhos mais próximos para prever o valor de saída do novo ponto.
-
Escolha de K: O valor de K é um parâmetro que você deve definir antes de usar o algoritmo. Um valor pequeno de K pode resultar em um modelo mais sensível a ruídos e variações nos dados, enquanto um valor grande de K pode suavizar a classificação, mas pode ignorar estruturas locais importantes.
-
Métrica de Distância: O KNN usa uma métrica de distância (como a distância Euclidiana, Manhattan ou outras) para determinar a proximidade entre pontos de dados. A escolha da métrica de distância pode impactar o desempenho do algoritmo.
O KNN é simples e fácil de entender, mas pode ser computacionalmente caro, especialmente com grandes conjuntos de dados, porque exige o cálculo da distância entre o ponto de interesse e todos os pontos no conjunto de dados de treinamento.