K-Nearest Neighbors
DisponibleClasifica 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
- 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
- Métrica
- Euclídea
- Escalado
- Desactivado
Recuento de vecinos por clase entre los k seleccionados.
Vecinos más cercanos
| # | x | y | Clase | Distancia |
|---|---|---|---|---|
| 1 | -0.50 | 0.30 | Clase 0 | 0.583 |
| 2 | -0.08 | 0.93 | Clase 0 | 0.933 |
| 3 | -0.29 | -1.39 | Clase 2 | 1.420 |
| 4 | 0.90 | -1.68 | Clase 2 | 1.906 |
| 5 | -0.89 | 1.74 | Clase 0 | 1.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.
Desviación estándar del ruido gaussiano de cada grupo.
Estira x para simular una feature medida en otra unidad que y.
Clasificación
Cantidad de vecinos consultados.