K-NN con Múltiples Características
Desliza para mostrar el menú
Ahora comprendes cómo funciona k-NN con una sola característica. Pasemos a un ejemplo un poco más complejo que utiliza dos características: peso y ancho.
En este caso, necesitamos encontrar vecinos basándonos en ambos, ancho y peso. Pero hay un pequeño inconveniente con esto. Vamos a graficar los dulces y ver qué sucede:
Puedes observar que el peso varía entre 12 y 64, mientras que el ancho solo está entre 5 y 12. Dado que el rango del ancho es mucho menor, los dulces parecen estar casi alineados verticalmente. Si calculamos las distancias ahora, reflejarán principalmente las diferencias en peso, como si nunca hubiéramos considerado el ancho.
Sin embargo, existe una solución: escalar los datos.
Ahora, tanto el peso como el ancho están en la misma escala y centrados alrededor de cero. Esto se puede lograr mediante la clase StandardScaler de sklearn. StandardScaler simplemente resta la media de la muestra y luego divide el resultado por la desviación estándar de la muestra:
StandardScaler centra los datos alrededor de cero. Aunque centrar no es obligatorio para k-NN y puede generar confusión, como "¿cómo puede el peso ser negativo?", es simplemente una forma de presentar los datos a una computadora. Algunos modelos requieren centrado, por lo que es recomendable usar StandardScaler para escalar por defecto.
De hecho, siempre se debe escalar los datos antes de usar k-Nearest Neighbors. Con los datos escalados, ahora podemos encontrar los vecinos:
En el caso de dos características, k-NN define un vecindario circular que contiene el número deseado de vecinos. Con tres características, esto se convierte en una esfera. En dimensiones superiores, el vecindario asume una forma más compleja que no puede visualizarse, aunque los cálculos subyacentes permanecen sin cambios.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla