K-Nearest Neighbors (KNN) / K vecinos más cercanos

¿Qué es KNN?

Es un de aprendizaje supervisado, de clasificación y regresión, basado en la idea de que los puntos de datos similares tienden a estar cerca unos de otros en el espacio de características. Este algoritmo clasifica nuevos puntos de datos basándose en la similitud con sus K vecinos más cercanos en el conjunto de entrenamiento.

Cómo funciona:

  1. Calcula la distancia entre un nuevo punto de datos y todos los puntos de entrenamiento.
  2. Selecciona los K puntos más cercanos.
  3. La clasificación o regresión se realiza en función de la mayoría de las etiquetas o el promedio de los valores de los K vecinos más cercanos.
import numpy as np
from sklearn.neighbors import KNeighborsClassifier

# Datos de ejemplo (clasificación)
X = np.array([[1, 2], [1.5, 1.8], [5, 8], [8, 8], [1, 0.6], [9, 11]])
y = np.array([0, 0, 1, 1, 0, 1])

# Crear el modelo KNN
knn = KNeighborsClassifier(n_neighbors=3)

# Entrenar el modelo
knn.fit(X, y)

# Hacer una predicción
new_data = np.array([[7, 8]])
prediction = knn.predict(new_data)
print(prediction)
#Salida: 1

Ver en Google Colab ➜

Explicación

  • numpy se utiliza para crear los arrays de datos.
  • sklearn.neighbors.KNeighborsClassifier crea un clasificador KNN con K=3.
  • fit entrena el modelo con los datos de entrenamiento.
  • predict realiza una predicción para un nuevo punto de datos.

Videos

K-Vecinos Más Cercanos (KNN) para Regresión con Python

K-Vecinos Más Cercanos (KNN) para Clasificación con Python