¿Por qué necesita escalar datos en KNN?

15

¿Podría alguien explicarme por qué necesita normalizar los datos cuando usa K vecinos más cercanos?

He intentado buscar esto, pero parece que todavía no puedo entenderlo.

Encontré el siguiente enlace:

https://discuss.analyticsvidhya.com/t/why-it-is-necessary-to-normalize-in-knn/2715

Pero en esta explicación, no entiendo por qué un rango mayor en una de las características afecta las predicciones.

bugsyb
fuente
Creo que la normalización debe justificarse desde el punto de vista del tema. Esencialmente, lo que importa es lo que define la distancia entre puntos. Debe encontrar una definición aritmética conveniente de distancia que refleje la definición de distancia de la materia. En mi experiencia limitada, me he normalizado en algunas pero no en todas las direcciones en función de las consideraciones del tema.
Richard Hardy
1
Para ver un ejemplo instructivo, consulte stats.stackexchange.com/questions/140711 .
whuber

Respuestas:

26

El algoritmo vecino k-más cercano se basa en el voto mayoritario basado en la membresía de clase de las muestras 'k' más cercanas para un punto de prueba dado. La proximidad de las muestras se basa típicamente en la distancia euclidiana.

Considere un problema simple de clasificación de dos clases, donde se elige una muestra de Clase 1 (negra) junto con sus 10 vecinos más cercanos (llenos de verde). En la primera figura, los datos no están normalizados, mientras que en la segunda sí lo están.

Datos sin normalización Datos con normalización

x1

¡La normalización resuelve este problema!

kedarps
fuente
1
Esta respuesta es exactamente correcta, pero me temo que las ilustraciones pueden ser engañosas debido a las distorsiones involucradas. El punto podría hacerse mejor dibujándolos a ambos para que los dos ejes en cada uno estén en la misma escala.
whuber
1
Me resultó difícil ajustar todos los puntos de datos en la misma escala para ambas figuras. Por lo tanto, mencioné en una nota que las escalas de los ejes son diferentes.
kedarps
1
¡Esa dificultad en realidad es el punto de tu respuesta! Una forma de superarlo es no utilizar una gama tan extrema de escalas. Una diferencia de 5: 1 en las escalas, en lugar de una diferencia de 1000: 1, aún sería un buen argumento. Otra forma es dibujar la imagen fielmente: el diagrama de dispersión superior parecerá ser una línea vertical de puntos.
whuber
2
@whuber, entendí mal tu primer comentario. Se corrigieron las tramas, ¡espero que ahora sea mejor!
kedarps
1
@Undertherainbow ¡Eso es correcto!
kedarps
5

Suponga que tiene un conjunto de datos (m "ejemplos" por n "características") y todas las dimensiones de una característica menos una tienen valores estrictamente entre 0 y 1, mientras que una dimensión de una característica tiene valores que oscilan entre -1000000 y 1000000. Al tomar la distancia euclidiana entre pares de "ejemplos", los valores de las dimensiones de características que oscilan entre 0 y 1 pueden dejar de ser informativos y el algoritmo se basaría esencialmente en la única dimensión cuyos valores son sustancialmente mayores. Simplemente calcule algunos ejemplos de cálculos de distancia euclidiana y podrá comprender cómo la escala afecta el cálculo del vecino más cercano.

Derek Jones
fuente