Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Desafío: Elección del Mejor Valor de K | Clasificador K-NN
Clasificación con Python

bookDesafío: Elección del Mejor Valor de K

Como se mostró en los capítulos anteriores, las predicciones del modelo pueden variar dependiendo del valor de k (el número de vecinos). Al construir un modelo k-NN, es importante elegir el valor de k que ofrezca el mejor rendimiento.

Un enfoque común es utilizar la validación cruzada para evaluar el rendimiento del modelo. Se puede ejecutar un bucle y calcular las puntuaciones de validación cruzada para un rango de valores de k, y luego seleccionar aquel con la puntuación más alta. Este es el método más utilizado.

Para realizar esto, sklearn ofrece una herramienta conveniente: la clase GridSearchCV.

El parámetro param_grid recibe un diccionario donde las claves son los nombres de los parámetros y los valores son listas de opciones a probar. Por ejemplo, para probar valores de 1 a 99 para n_neighbors, se puede escribir:

param_grid = {'n_neighbors': range(1, 100)}

Al llamar al método .fit(X, y) en el objeto GridSearchCV, se buscarán los mejores parámetros dentro de la cuadrícula y luego se reentrenará el modelo en todo el conjunto de datos usando esos mejores parámetros.

Se puede acceder a la mejor puntuación utilizando el atributo .best_score_ y hacer predicciones con el modelo optimizado usando el método .predict(). De manera similar, se puede recuperar el mejor modelo en sí utilizando el atributo .best_estimator_.

Tarea

Swipe to start coding

Se proporciona el conjunto de datos de calificaciones de Star Wars almacenado como un DataFrame en la variable df.

  • Inicializar param_grid como un diccionario que contenga el parámetro n_neighbors con los valores [3, 9, 18, 27].
  • Crear un objeto GridSearchCV utilizando param_grid con validación cruzada de 4 particiones, entrenarlo y almacenarlo en la variable grid_search.
  • Recuperar el mejor modelo de grid_search y almacenarlo en la variable best_model.
  • Recuperar la puntuación del mejor modelo y almacenarla en la variable best_score.

Solución

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 7
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

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

Suggested prompts:

Can you show me an example of how to use GridSearchCV with k-NN?

How do I interpret the results from GridSearchCV?

What other parameters can I tune with GridSearchCV besides n_neighbors?

close

Awesome!

Completion rate improved to 4.17

bookDesafío: Elección del Mejor Valor de K

Desliza para mostrar el menú

Como se mostró en los capítulos anteriores, las predicciones del modelo pueden variar dependiendo del valor de k (el número de vecinos). Al construir un modelo k-NN, es importante elegir el valor de k que ofrezca el mejor rendimiento.

Un enfoque común es utilizar la validación cruzada para evaluar el rendimiento del modelo. Se puede ejecutar un bucle y calcular las puntuaciones de validación cruzada para un rango de valores de k, y luego seleccionar aquel con la puntuación más alta. Este es el método más utilizado.

Para realizar esto, sklearn ofrece una herramienta conveniente: la clase GridSearchCV.

El parámetro param_grid recibe un diccionario donde las claves son los nombres de los parámetros y los valores son listas de opciones a probar. Por ejemplo, para probar valores de 1 a 99 para n_neighbors, se puede escribir:

param_grid = {'n_neighbors': range(1, 100)}

Al llamar al método .fit(X, y) en el objeto GridSearchCV, se buscarán los mejores parámetros dentro de la cuadrícula y luego se reentrenará el modelo en todo el conjunto de datos usando esos mejores parámetros.

Se puede acceder a la mejor puntuación utilizando el atributo .best_score_ y hacer predicciones con el modelo optimizado usando el método .predict(). De manera similar, se puede recuperar el mejor modelo en sí utilizando el atributo .best_estimator_.

Tarea

Swipe to start coding

Se proporciona el conjunto de datos de calificaciones de Star Wars almacenado como un DataFrame en la variable df.

  • Inicializar param_grid como un diccionario que contenga el parámetro n_neighbors con los valores [3, 9, 18, 27].
  • Crear un objeto GridSearchCV utilizando param_grid con validación cruzada de 4 particiones, entrenarlo y almacenarlo en la variable grid_search.
  • Recuperar el mejor modelo de grid_search y almacenarlo en la variable best_model.
  • Recuperar la puntuación del mejor modelo y almacenarla en la variable best_score.

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 7
single

single

some-alt