IA 101
¿Qué es KNN (K-Nearest Neighbors)?

¿Qué es K-Nearest Neighbors (KNN)?
K-Nearest Neighbors es una técnica y algoritmo de aprendizaje automático que se puede utilizar para tareas de regresión y clasificación. K-Nearest Neighbors examina las etiquetas de un número elegido de puntos de datos que rodean un punto de datos objetivo, con el fin de hacer una predicción sobre la clase a la que pertenece el punto de datos. K-Nearest Neighbors (KNN) es un algoritmo conceptualmente simple pero muy poderoso, y por esas razones, es uno de los algoritmos de aprendizaje automático más populares. Hagamos un análisis profundo del algoritmo KNN y veamos exactamente cómo funciona. Tener una buena comprensión de cómo opera KNN nos permitirá apreciar los mejores y peores casos de uso para KNN.
Visión general de K-Nearest Neighbors (KNN)

Foto: Antti Ajanki AnAj a través de Wikimedia Commons, CC BY SA 3.0 (https://commons.wikimedia.org/wiki/File:KnnClassification.svg)
Imaginemos un conjunto de datos en un plano 2D. Imaginemos un montón de puntos de datos en un gráfico, dispersos a lo largo del gráfico en pequeños grupos. KNN examina la distribución de los puntos de datos y, dependiendo de los argumentos dados al modelo, separa los puntos de datos en grupos. Estos grupos se asignan luego una etiqueta. La principal suposición que hace un modelo KNN es que los puntos de datos/instancias que existen en estrecha proximidad entre sí son muy similares, mientras que si un punto de datos está lejos de otro grupo, es disimilar a esos puntos de datos.
Un modelo KNN calcula la similitud utilizando la distancia entre dos puntos en un gráfico. A mayor distancia entre los puntos, menos similares son. Hay varias formas de calcular la distancia entre puntos, pero la métrica de distancia más común es solo la distancia euclidiana (la distancia entre dos puntos en una línea recta).
KNN es un algoritmo de aprendizaje supervisado, lo que significa que los ejemplos en el conjunto de datos deben tener etiquetas asignadas a ellos/sus clases deben ser conocidas. Hay dos cosas más importantes que saber sobre KNN. Primero, KNN es un algoritmo no paramétrico. Esto significa que no se hacen suposiciones sobre el conjunto de datos cuando se utiliza el modelo. Más bien, el modelo se construye enteramente a partir de los datos proporcionados. En segundo lugar, no hay división del conjunto de datos en conjuntos de entrenamiento y prueba al utilizar KNN. KNN no hace generalizaciones entre un conjunto de entrenamiento y un conjunto de prueba, por lo que todos los datos de entrenamiento también se utilizan cuando el modelo se le pide que haga predicciones.












