ML Playground
ClasificaciónPrincipianteAprendizaje supervisado

K-Nearest Neighbors

Disponible

Clasifica un punto nuevo según sus vecinos más cercanos y observa el efecto de k.

Descripción

Qué haceClasifica un punto nuevo copiando la clase mayoritaria entre sus k vecinos más parecidos, sin ajustar ningún parámetro de antemano.

Para qué sirveClasificación rápida de implementar cuando hay suficientes datos de ejemplo a mano y la relación entre features y clase es demasiado irregular para modelarla con una fórmula.

Clasifica un punto nuevo votando la clase mayoritaria entre sus k vecinos más cercanos. Dataset sintético.

Votación entre vecinos

Lazy learning

No hay entrenamiento: el «modelo» es el dataset completo, y todo el trabajo ocurre al clasificar.

Coste de inferencia

O(n) + O(n log n)

Calcular y ordenar distancias contra los n puntos de entrenamiento, por consulta.

Desempate:Ante un empate de votos, gana la clase del vecino individual más cercano — nunca el orden de iteración. Ver caso «Empate de votos».

Qué muestra cada métrica

Predicción / k efectivo

La clase mayoritaria y cuántos vecinos participaron realmente (menos que k solo si el dataset tiene menos puntos).

Votos

Cuántos de los k vecinos pertenecen a cada clase.

Escalado:Sin estandarizar, la feature de mayor rango domina la distancia aunque no sea más relevante — ver caso «Escalas distintas».

Ventajas y límites

Fronteras arbitrarias

No paramétrico: aprende formas complejas sin asumir una función — ver «Círculos concéntricos».

Coste crece con n

Cada predicción recorre todo el dataset, que debe mantenerse en memoria.

Sensible a k

k pequeño persigue ruido (alta varianza); k grande suaviza de más (alto sesgo) — ver «k pequeño» / «k grande».

Sensible a la escala

Depende de una distancia geométrica: estandarizar es casi siempre necesario.

Playground

Puntos de entrenamiento, punto de consulta y frontera de decisión-6.3-3.00.33.77.0-7.2-3.8-0.33.16.5xy
120 puntos de entrenamiento en 3 clases. Con k=5, el punto de consulta (0.00, 0.00) se clasifica como clase 0.
  • Clase 0
  • Clase 1
  • Clase 2
  • Punto de consulta

Los 5 vecinos usados en la votación se marcan con un anillo de acento y una línea discontinua hacia el punto de consulta. La región sombreada usa el color de cada clase para mostrar la frontera de decisión.

Resultado de la clasificación

Predicción
Clase 0
k efectivo
5 / 5
Votos
clase 0: 3 · clase 2: 2

Recuento de vecinos por clase entre los k seleccionados.

Métrica
Euclídea
Escalado
Desactivado

Vecinos más cercanos

Vecinos más cercanos ordenados por distancia ascendente, con su clase y si su voto coincide con la predicción final.
#xyClaseDistancia
1-0.500.30Clase 00.583
2-0.080.93Clase 00.933
3-0.29-1.39Clase 21.420
40.90-1.68Clase 21.906
5-0.891.74Clase 01.954

Generación del dataset

Cambiar estos controles genera un dataset sintético nuevo. KNN no tiene una fase de entrenamiento: cada cambio se refleja de inmediato en la clasificación.

Semilla del generador determinista.

40
5120
1.2

Desviación estándar del ruido gaussiano de cada grupo.

0.24.0
×1.0

Estira x para simular una feature medida en otra unidad que y.

×1.0×8.0

Clasificación

5

Cantidad de vecinos consultados.

125
Métrica de distancia

Punto de consulta

Casos educativos

Conceptos relacionados

Referencias