Día 2 del “Calendario de Adviento” de aprendizaje automático: Clasificador k-NN en Excel

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.

Clasificador k-NN en Excel – imagen del autor

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ó.

Conjunto de datos de supervivencia del Titanic – imagen del autor – CC0: licencia de dominio público

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.

Clasificador k-NN en Excel – Una característica continua – imagen del autor

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.

Clasificador k-NN en Excel – predicción para una característica continua – imagen del autor

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.

Clasificador k-NN en Excel – predicciones para una característica continua – imagen del autor

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.

Clasificador k-NN en Excel – dos características continuas – imagen del autor

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”.

Clasificador k-NN en Excel – clasificador multiclase – imagen del autor

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.

Clasificador k-NN en Excel – Centroides más cercanos – imagen del autor

Ahora también es posible utilizar múltiples funciones continuas.

Por ejemplo, podemos utilizar las dos funciones edad y tarifa.

Clasificador k-NN en Excel – Centroides más cercanos – imagen del autor

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.

Clasificador k-NN en Excel – Linealidad de centroides más cercanos – imagen del autor

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.

Clasificador de vecinos más cercanos de radio – imagen del autor

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.

Variantes y mejoras del clasificador k-NN – imagen del autor

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.