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

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:

TwoFeatureNN1

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.

TwoFeatureNNScaled

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:

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

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:

TwoFeatureNN

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

Elige la afirmación correcta.

Selecciona la respuesta correcta

¿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

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