Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende KNeighborsClassifier | Modelado
Introducción al Aprendizaje Automático con Python

bookKNeighborsClassifier

Al crear el estimador final en una canalización, el modelo elegido fue KNeighborsClassifier. Este capítulo proporciona una breve explicación de cómo funciona el algoritmo.

Note
Nota

El funcionamiento de los modelos no es un tema principal de este curso, por lo que está bien si algo no te queda claro. Se explica con más detalle en otros cursos como Regresión Lineal con Python o Clasificación con Python.

k-Vecinos más Cercanos

k-NN predice la clase de una nueva instancia observando sus k muestras de entrenamiento más similares. KNeighborsClassifier implementa esto en Scikit-learn.

  1. Para un nuevo punto, encuentra los k vecinos más cercanos utilizando la similitud de características.
  2. La clase más común entre ellos se convierte en la predicción.

k es un hiperparámetro (valor predeterminado = 5). Diferentes valores modifican el comportamiento del modelo, por lo que ajustar k es importante.

KNeighborsClassifier durante .fit()

A diferencia de muchos algoritmos, KNeighborsClassifier simplemente almacena los datos de entrenamiento. Sin embargo, es necesario llamar a .fit(X, y) para que el modelo sepa a qué conjunto de datos hacer referencia durante la predicción.

KNeighborsClassifier durante .predict()

Durante la predicción, el clasificador busca para cada instancia sus k vecinos más cercanos. En el ejemplo visual, solo se muestran dos características; agregar más características generalmente mejora la separación de clases y la precisión de las predicciones.

Note
Nota

En los gifs anteriores, solo se utilizan dos características, 'body_mass_g' y 'culmen_depth_mm', porque visualizar gráficos de mayor dimensión es complicado. Incluir características adicionales probablemente ayudará al modelo a separar mejor los puntos de datos verdes y rojos, permitiendo que KNeighborsClassifier realice predicciones más precisas.

Ejemplo de codificación de KNeighborsClassifier

Es posible crear un clasificador, entrenarlo y comprobar su precisión utilizando .score(). El argumento n_neighbors controla k—pruebe tanto con 5 como con 1.

12345678910111213
import pandas as pd from sklearn.neighbors import KNeighborsClassifier df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins_pipelined.csv') # Assign X, y variables (X is already preprocessed and y is already encoded) X, y = df.drop('species', axis=1), df['species'] # Initialize and train a model knn5 = KNeighborsClassifier().fit(X, y) # Trained 5 neighbors model knn1 = KNeighborsClassifier(n_neighbors=1).fit(X, y) # Trained 1 neighbor model # Print the scores of both models print('5 Neighbors score:',knn5.score(X, y)) print('1 Neighbor score:',knn1.score(X, y))
copy

Usar k=1 puede producir una precisión perfecta, pero esto es engañoso porque la evaluación se realizó en el conjunto de entrenamiento. Para medir el rendimiento real, siempre pruebe el modelo en datos no vistos.

question mark

¿Cómo realiza predicciones el KNeighborsClassifier para una nueva instancia?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 2

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 3.13

bookKNeighborsClassifier

Desliza para mostrar el menú

Al crear el estimador final en una canalización, el modelo elegido fue KNeighborsClassifier. Este capítulo proporciona una breve explicación de cómo funciona el algoritmo.

Note
Nota

El funcionamiento de los modelos no es un tema principal de este curso, por lo que está bien si algo no te queda claro. Se explica con más detalle en otros cursos como Regresión Lineal con Python o Clasificación con Python.

k-Vecinos más Cercanos

k-NN predice la clase de una nueva instancia observando sus k muestras de entrenamiento más similares. KNeighborsClassifier implementa esto en Scikit-learn.

  1. Para un nuevo punto, encuentra los k vecinos más cercanos utilizando la similitud de características.
  2. La clase más común entre ellos se convierte en la predicción.

k es un hiperparámetro (valor predeterminado = 5). Diferentes valores modifican el comportamiento del modelo, por lo que ajustar k es importante.

KNeighborsClassifier durante .fit()

A diferencia de muchos algoritmos, KNeighborsClassifier simplemente almacena los datos de entrenamiento. Sin embargo, es necesario llamar a .fit(X, y) para que el modelo sepa a qué conjunto de datos hacer referencia durante la predicción.

KNeighborsClassifier durante .predict()

Durante la predicción, el clasificador busca para cada instancia sus k vecinos más cercanos. En el ejemplo visual, solo se muestran dos características; agregar más características generalmente mejora la separación de clases y la precisión de las predicciones.

Note
Nota

En los gifs anteriores, solo se utilizan dos características, 'body_mass_g' y 'culmen_depth_mm', porque visualizar gráficos de mayor dimensión es complicado. Incluir características adicionales probablemente ayudará al modelo a separar mejor los puntos de datos verdes y rojos, permitiendo que KNeighborsClassifier realice predicciones más precisas.

Ejemplo de codificación de KNeighborsClassifier

Es posible crear un clasificador, entrenarlo y comprobar su precisión utilizando .score(). El argumento n_neighbors controla k—pruebe tanto con 5 como con 1.

12345678910111213
import pandas as pd from sklearn.neighbors import KNeighborsClassifier df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins_pipelined.csv') # Assign X, y variables (X is already preprocessed and y is already encoded) X, y = df.drop('species', axis=1), df['species'] # Initialize and train a model knn5 = KNeighborsClassifier().fit(X, y) # Trained 5 neighbors model knn1 = KNeighborsClassifier(n_neighbors=1).fit(X, y) # Trained 1 neighbor model # Print the scores of both models print('5 Neighbors score:',knn5.score(X, y)) print('1 Neighbor score:',knn1.score(X, y))
copy

Usar k=1 puede producir una precisión perfecta, pero esto es engañoso porque la evaluación se realizó en el conjunto de entrenamiento. Para medir el rendimiento real, siempre pruebe el modelo en datos no vistos.

question mark

¿Cómo realiza predicciones el KNeighborsClassifier para una nueva instancia?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 2
some-alt