4.2 Un abanico de posibilidades: K-NN para clasificación multiclase

Introducción

El algoritmo K-Nearest Neighbors (K-NN) es uno de los algoritmos de aprendizaje automático más simples y efectivos para tareas de clasificación. Su funcionamiento se basa en una premisa intuitiva: "dime con quién andas y te diré quién eres".

🏢

Actividad

Clasificador K-NN Interactivo

Cómo explorarlo

  1. Selecciona el valor de K: Elige cuántos vecinos cercanos considerar para la clasificación. Un K pequeño es más sensible al ruido, mientras que un K grande suaviza las decisiones.
  2. Observa las distancias: Haz clic en cualquier punto para ver cómo se calculan las distancias a todos los puntos de entrenamiento y cuáles son los K vecinos más cercanos.
  3. Analiza la clasificación: El punto se clasifica según la clase mayoritaria entre sus K vecinos más cercanos. Experimenta con diferentes valores de K para ver cómo cambia la clasificación.
Qué observar: El algoritmo K-NN clasifica nuevos datos basándose en la proximidad a datos conocidos. Es un método de aprendizaje perezoso que no construye un modelo explícito, sino que utiliza directamente los datos de entrenamiento.

Demostración Interactiva

Clasificador K-NN: ¿Gato o Perro?

Simulador Interactivo: K-Vecinos más Cercanos (K-NN)

El algoritmo K-Vecinos más Cercanos (K-NN) es un método de clasificación intuitivo que funciona bajo la premisa de que "dime con quién andas y te diré quién eres". Para clasificar un nuevo caso, simplemente identifica a sus 'K' vecinos más cercanos en los datos existentes y adopta la clase más común entre ellos, basándose en una votación mayoritaria.

¿Cómo funciona la clasificación por proximidad?

Añade un Caso Nuevo

Haz clic en el gráfico para añadir un nuevo punto a clasificar (por ejemplo, una nueva célula). El modelo necesita decidir a qué grupo pertenece basándose en los datos ya conocidos.

Encuentra a los Vecinos

El algoritmo busca los 'K' vecinos más cercanos al nuevo punto. Usa el control deslizante para cambiar el valor de 'K' y observa cómo se seleccionan diferentes vecinos en el gráfico.

Toma una Decisión (Voto)

La clase del nuevo punto se decide por votación mayoritaria. Si la mayoría de sus 'K' vecinos son del grupo "A", se clasificará como "A". Observa cómo la predicción cambia al ajustar 'K'.

Cuando Alma introdujo el algoritmo K-Nearest Neighbors (K-NN), Marta enseguida señaló el punto clave: "El concepto de 'distancia' es crucial aquí. ¿Cómo combinamos edad, temperatura y presión arterial? Necesitaríamos escalar todo cuidadosamente". Luis y Carlos añadieron la preocupación por el coste computacional y la "maldición de la dimensionalidad".

Para ilustrar estos conceptos de forma sencilla, Alma les propuso un ejemplo simple antes de aplicarlo a los datos médicos. Imagina que queremos clasificar mascotas (gatos 🐱 y perros 🐶) basándonos en dos características: su agilidad (eje Y) y su sociabilidad (eje X).

En esta simulación, tú eres el algoritmo K-NN.

  1. Añade puntos de datos (gatos y perros) en el gráfico o usa los datos de ejemplo.
  2. Cambia al modo "Clasificar" y haz clic en cualquier lugar del gráfico para introducir una nueva mascota.
  3. El algoritmo encontrará los K vecinos más cercanos y asignará la clase mayoritaria.

Juega con el valor de K y la métrica de distancia (Euclidiana vs. Manhattan) para ver cómo afectan a la clasificación. Activa "Mostrar Fronteras" para visualizar cómo cambia el mapa de decisión del modelo. Esto te dará una intuición clara sobre las fortalezas y debilidades que el equipo discutió.

Cómo explorarlo

  1. Selecciona el valor de K: Elige cuántos vecinos cercanos considerar para la clasificación. Un K pequeño es más sensible al ruido, mientras que un K grande suaviza las decisiones.
  2. Observa las distancias: Haz clic en cualquier punto para ver cómo se calculan las distancias a todos los puntos de entrenamiento y cuáles son los K vecinos más cercanos.
  3. Analiza la clasificación: El punto se clasifica según la clase mayoritaria entre sus K vecinos más cercanos. Prueba diferentes valores de K para ver cómo cambia la clasificación.
  4. Usa los botones de Modo de Interacción: Selecciona cómo interactuar con el gráfico. Con 🐱 Añadir Gatos y 🐶 Añadir Perros puedes hacer clic en el canvas para añadir nuevos puntos de entrenamiento de cada clase. Con 🔍 Clasificar, al hacer clic en el canvas se añade un punto desconocido y el algoritmo determina automáticamente a qué clase pertenece según sus K vecinos más cercanos.

Configuración del Modelo

🎯 Espacio de Clasificación

Gatos Típicos
Alta agilidad
Baja sociabilidad
Zona Mixta
Alta agilidad
Alta sociabilidad
Zona Neutra
Baja agilidad
Baja sociabilidad
Perros Típicos
Baja agilidad
Alta sociabilidad

🏷️ Leyenda de puntos

🐱 Gatos (Entrenamiento)
🐶 Perros (Entrenamiento)
🔍 Punto a clasificar
📍 Vecinos más cercanos

📏 Métricas de distancia

Euclidiana: Distancia "en línea recta" entre puntos
Manhattan: Distancia "de ciudad" (|ΔX| + |ΔY|)

Estadísticas del dataset

Puntos totales 0
Gatos 0 Casos de entrenamiento felinos
Perros 0 Casos de entrenamiento caninos
K actual 3 Vecinos a considerar

Conceptos Fundamentales

¿Cómo Funciona K-NN?

K-NN es un algoritmo de aprendizaje perezoso (lazy learning) que no construye un modelo explícito durante el entrenamiento. En su lugar, cuando necesita clasificar un nuevo punto:

  1. Calcula la distancia entre el punto a clasificar y todos los puntos en el conjunto de entrenamiento.
  2. Selecciona los K vecinos más cercanos basándose en esta distancia.
  3. Asigna la clase que sea más común entre estos K vecinos (votación por mayoría).
Consideraciones Importantes
  • Valor de K: Un K pequeño puede ser sensible al ruido, mientras que un K grande puede suavizar demasiado las fronteras de decisión.
  • Medida de distancia: La distancia euclidiana es común, pero otras métricas pueden ser más apropiadas según el problema.
  • Normalización: Es importante normalizar las características cuando tienen diferentes escalas.