el regresor k-NN y la idea de predicción basada en la distancia, ahora veremos el clasificador k-NN.
El principio es el mismo, pero la clasificación nos permite introducir varias variantes útiles, como el radio de vecinos más cercanos, el centroide más cercano, la predicción de clases múltiples y los modelos de distancia probabilísticos.
Entonces, primero implementaremos el clasificador k-NN y luego discutiremos cómo se puede mejorar.
Puede utilizar esta hoja de Excel/Google mientras lee este artículo para seguir mejor todas las explicaciones.
Conjunto de datos de supervivencia del Titanic
Usaremos el conjunto de datos de supervivencia del Titanic, un ejemplo clásico en el que cada fila describe a un pasajero con características como clase, sexo, edad y tarifa, y el objetivo es predecir si el pasajero sobrevivió.
Principio de k-NN para clasificación
El clasificador k-NN es tan similar al regresor k-NN que casi podría escribir un solo artículo para explicar ambos.
De hecho, cuando buscamos los k vecinos más cercanos, no utilizamos el valor y en absoluto, y mucho menos su naturaleza.
PERO, todavía hay algunos datos interesantes sobre cómo se construyen los clasificadores (binarios o multiclase) y cómo se pueden manejar las características de manera diferente.
Comenzamos con la tarea de clasificación binaria y luego con la clasificación de clases múltiples.
Una característica continua para la clasificación binaria
Entonces, muy rápido, podemos hacer el mismo ejercicio para una característica continua, con este conjunto de datos.
Para el valor de y, normalmente utilizamos 0 y 1 para distinguir las dos clases. Pero puedes notar, o notarás, que puede ser una fuente de confusión.
Ahora piénsalo: 0 y 1 también son números, ¿verdad? Entonces, podemos hacer exactamente el mismo proceso que si estuviéramos haciendo una regresión.
Así es. Nada cambia en el cálculo, como ves en la siguiente captura de pantalla. Y, por supuesto, puedes intentar modificar tú mismo el valor de la nueva observación.
La única diferencia es cómo interpretamos el resultado. Cuando tomamos el “promedio” de los valores y de los vecinos, este número se entiende como la probabilidad de que la nueva observación pertenezca a la clase 1.
Entonces, en realidad, el valor “promedio” no es la buena interpretación, sino más bien la proporción de la clase 1.
También podemos crear manualmente este gráfico para mostrar cómo cambia la probabilidad predicha en un rango de valores de x.
Tradicionalmente, para evitar terminar con una probabilidad del 50 por ciento, elegimos un valor impar para k, de modo que siempre podamos decidir con votación mayoritaria.
Dos características para la clasificación binaria
Si tenemos dos características, la operación también es casi la misma que en el regresor k-NN.
Una característica para la clasificación de clases múltiples
Ahora, tomemos un ejemplo de tres clases para la variable objetivo y.
Entonces podemos ver que ya no podemos usar la noción de “promedio”, ya que el número que representa la categoría no es en realidad un número. Y sería mejor llamarlos “categoría 0”, “categoría 1” y “categoría 2”.
De k-NN a centroides más cercanos
Cuando k se vuelve demasiado grande
Ahora hagamos k grande. ¿Qué tan grande? Lo más grande posible.
Recuerde, también hicimos este ejercicio con el regresor k-NN y la conclusión fue que si k es igual al número total de observaciones en el conjunto de datos de entrenamiento, entonces el regresor k-NN es el estimador de valor promedio simple.
Para el clasificador k-NN, es casi lo mismo. Si k es igual al número total de observaciones, entonces, para cada clase, obtendremos su proporción general dentro de todo el conjunto de datos de entrenamiento.
¡Algunas personas, desde un punto de vista bayesiano, llaman a estas proporciones prioritarias!
Pero esto no nos ayuda mucho a clasificar una nueva observación, porque estos antecedentes son los mismos para cada punto.
La creación de centroides
Así que demos un paso más.
Para cada clase, también podemos agrupar todos los valores de características x que pertenecen a esa clase y calcular su promedio.
Estos vectores de características promediados son lo que llamamos centroides.
¿Qué podemos hacer con estos centroides?
Podemos usarlos para clasificar una nueva observación.
En lugar de volver a calcular las distancias a todo el conjunto de datos para cada nuevo punto, simplemente medimos la distancia a cada centroide de clase y asignamos la clase del más cercano.
Con el conjunto de datos de supervivencia del Titanic, podemos comenzar con una única característica, la edad, y calcular los centroides para las dos clases: pasajeros que sobrevivieron y pasajeros que no.
Ahora también es posible utilizar múltiples funciones continuas.
Por ejemplo, podemos utilizar las dos funciones edad y tarifa.
Y podemos comentar algunas características importantes de este modelo:
La escala es importante, como comentamos antes para el regresor k-NN. Los valores faltantes no son un problema aquí: cuando calculamos los centroides por clase, cada uno se calcula con los valores disponibles (no vacíos). Pasamos del modelo más “complejo” y “grande” (en el sentido de que el modelo real es el conjunto de datos de entrenamiento completo, por lo que tenemos que almacenar todo el conjunto de datos) al modelo más simple (solo usamos un valor por característica y solo almacenamos estos valores como nuestro modelo).
De altamente no lineal a ingenuamente lineal
Pero ahora, ¿se te ocurre algún inconveniente importante?
Mientras que el clasificador k-NN básico es altamente no lineal, el método del centroide más cercano es extremadamente lineal.
En este ejemplo 1D, los dos centroides son simplemente los valores x promedio de la clase 0 y la clase 1. Debido a que estos dos promedios están cerca, el límite de decisión se convierte en solo el punto medio entre ellos.
Entonces, en lugar de un límite irregular y por partes que depende de la ubicación exacta de muchos puntos de entrenamiento (como en k-NN), obtenemos un límite recto que solo depende de dos números.
Esto ilustra cómo los centroides más cercanos comprimen todo el conjunto de datos en una regla simple y muy lineal.
Una nota sobre la regresión: por qué no se aplican los centroides
Ahora bien, este tipo de mejora no es posible para el regresor k-NN. ¿Por qué?
En la clasificación, cada clase forma un grupo de observaciones, por lo que tiene sentido calcular el vector de características promedio para cada clase, y esto nos da los centroides de clase.
Pero en la regresión, el objetivo y es continuo. No existen grupos discretos, ni límites de clase y, por lo tanto, no hay una forma significativa de calcular “el centroide de una clase”.
Un objetivo continuo tiene infinitos valores posibles, por lo que no podemos agrupar las observaciones por su valor y para formar centroides.
El único “centroide” posible en la regresión sería la media global, que corresponde al caso k = N en el regresor k-NN.
Y este estimador es demasiado simple para ser útil.
En resumen, el Clasificador de centroides más cercano es una mejora natural para la clasificación, pero no tiene un equivalente directo en regresión.
Otras mejoras estadísticas
¿Qué más podemos hacer con el clasificador k-NN básico?
Promedio y varianza
Con el Clasificador de centroides más cercano, utilizamos la estadística más simple que es el promedio. Un reflejo natural en estadística es sumar también la varianza.
Así que ahora la distancia ya no es euclidiana, sino distancia de Mahalanobis. Usando esta distancia, obtenemos la probabilidad basada en la distribución caracterizada por la media y la varianza de cada clase.
Manejo de características categóricas
Para características categóricas, no podemos calcular promedios o variaciones. Y para el regresor k-NN, vimos que era posible realizar codificación one-hot o codificación ordinal/etiqueta. Pero la escala es importante y no es fácil de determinar.
Aquí podemos hacer algo igualmente significativo, en términos de probabilidades: podemos contar las proporciones de cada categoría dentro de una clase.
Estas proporciones actúan exactamente como probabilidades, describiendo la probabilidad de cada categoría dentro de cada clase.
Esta idea está directamente relacionada con modelos como Categorical Naive Bayes, donde las clases se caracterizan por distribuciones de frecuencia sobre las categorías.
Distancia ponderada
Otra dirección es introducir pesos, de modo que los vecinos más cercanos cuenten más que los distantes. En scikit-learn, existe el argumento de los “pesos” que nos permite hacerlo.
También podemos cambiar de “k vecinos” a un radio fijo alrededor de la nueva observación, lo que conduce a clasificadores basados en radio.
Vecinos más cercanos del radio
A veces, podemos encontrar el siguiente gráfico para explicar el clasificador k-NN. Pero en realidad, con un radio como este, refleja más la idea de Radius Nearest Neighbors.
Una ventaja es el control del barrio. Es especialmente interesante cuando conocemos el significado concreto de la distancia, como por ejemplo la distancia geográfica.
Pero el inconveniente es que hay que conocer el radio de antemano.
Por cierto, esta noción de radio de vecinos más cercanos también es adecuada para la regresión.
Resumen de diferentes variantes
Todos estos pequeños cambios dan lugar a diferentes modelos, cada uno de los cuales intenta mejorar la idea básica de comparar vecinos según una definición más compleja de distancia, con un parámetro de control que nos permite obtener vecinos locales, o una caracterización más global del vecindario.
No exploraremos todos estos modelos aquí. Simplemente no puedo evitar ir demasiado lejos cuando una pequeña variación conduce naturalmente a otra idea.
Por ahora, considere esto como un anuncio de los modelos que implementaremos a finales de este mes.
Conclusión
En este artículo, exploramos el clasificador k-NN desde su forma más básica hasta varias extensiones.
La idea central realmente no cambia: una nueva observación se clasifica observando qué tan similar es a los datos de entrenamiento.
Pero esta sencilla idea puede adoptar muchas formas diferentes.
Con características continuas, la similitud se basa en la distancia geométrica.
En el caso de las características categóricas, nos fijamos en la frecuencia con la que aparece cada categoría entre los vecinos.
Cuando k se vuelve muy grande, todo el conjunto de datos se colapsa en solo unas pocas estadísticas resumidas, lo que conduce naturalmente al Clasificador de centroides más cercano.
Comprender esta familia de ideas basadas en la distancia y en la probabilidad nos ayuda a ver que muchos modelos de aprendizaje automático son simplemente formas diferentes de responder la misma pregunta:
¿A qué clase se parece más esta nueva observación?
En los próximos artículos, continuaremos explorando modelos basados en densidad, que pueden entenderse como medidas globales de similitud entre observaciones y clases.