Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende K-NN con Múltiples Características | Clasificador K-NN
Clasificación con Python

bookK-NN con Múltiples Características

Ahora ya comprende cómo funciona k-NN con una sola característica. Pasemos a un ejemplo ligeramente 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é sale mal:

Puede 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 el 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 en torno a 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:

Xscaled=XxˉsX_{scaled} = \frac{X - \bar x}{s}

StandardScaler centra los datos alrededor de cero. Aunque centrar los datos no es obligatorio para k-NN y podría 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 el centrado, por lo que es recomendable utilizar StandardScaler para escalar por defecto.

De hecho, se debe siempre escalar los datos antes de utilizar 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.

question mark

Elija la afirmación correcta.

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 3

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Awesome!

Completion rate improved to 4.17

bookK-NN con Múltiples Características

Desliza para mostrar el menú

Ahora ya comprende cómo funciona k-NN con una sola característica. Pasemos a un ejemplo ligeramente 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é sale mal:

Puede 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 el 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 en torno a 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:

Xscaled=XxˉsX_{scaled} = \frac{X - \bar x}{s}

StandardScaler centra los datos alrededor de cero. Aunque centrar los datos no es obligatorio para k-NN y podría 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 el centrado, por lo que es recomendable utilizar StandardScaler para escalar por defecto.

De hecho, se debe siempre escalar los datos antes de utilizar 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.

question mark

Elija la afirmación correcta.

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 3
some-alt