Desafí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_.
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_gridcomo un diccionario que contenga el parámetron_neighborscon los valores[3, 9, 18, 27]. - Crear un objeto
GridSearchCVutilizandoparam_gridcon validación cruzada de 4 particiones, entrenarlo y almacenarlo en la variablegrid_search. - Recuperar el mejor modelo de
grid_searchy almacenarlo en la variablebest_model. - Recuperar la puntuación del mejor modelo y almacenarla en la variable
best_score.
Solución
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
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?
Awesome!
Completion rate improved to 4.17
Desafí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_.
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_gridcomo un diccionario que contenga el parámetron_neighborscon los valores[3, 9, 18, 27]. - Crear un objeto
GridSearchCVutilizandoparam_gridcon validación cruzada de 4 particiones, entrenarlo y almacenarlo en la variablegrid_search. - Recuperar el mejor modelo de
grid_searchy almacenarlo en la variablebest_model. - Recuperar la puntuación del mejor modelo y almacenarla en la variable
best_score.
Solución
¡Gracias por tus comentarios!
single