Desafío: Ajuste de Hiperparámetros con RandomizedSearchCV
El principio de RandomizedSearchCV
es similar al de GridSearchCV
, pero en lugar de probar todas las combinaciones posibles, evalúa solo un subconjunto muestreado aleatoriamente.
Por ejemplo, el siguiente param_grid
contiene 100 combinaciones:
param_grid = {
'n_neighbors': [1, 3, 5, 7, 9, 12, 15, 17, 20, 25],
'weights': ['distance', 'uniform'],
'p': [1, 2, 3, 4, 5]
}
GridSearchCV
probaría las 100 combinaciones, lo cual es muy costoso en tiempo. RandomizedSearchCV
puede, en cambio, evaluar un subconjunto más pequeño, por ejemplo, 20 combinaciones elegidas aleatoriamente. Esto reduce el tiempo de cómputo y normalmente produce resultados cercanos a los mejores.
El número de combinaciones a probar se controla mediante el argumento n_iter
(el valor predeterminado es 10). Por lo demás, el uso es igual que con GridSearchCV
.
Swipe to start coding
- Inicialización de un objeto
RandomizedSearchCV
con la cuadrícula de parámetros y configuración den_iter=20
. - Inicialización de un objeto
GridSearchCV
con la misma cuadrícula de parámetros. - Entrenamiento de ambos objetos de búsqueda utilizando
.fit(X, y)
. - Impresión del mejor estimador del grid search con
.best_estimator_
. - Impresión de la mejor puntuación del randomized search con
.best_score_
.
Solución
Puedes intentar ejecutar el código varias veces. Observa la diferencia entre las dos puntuaciones. A veces, las puntuaciones pueden ser iguales debido a la presencia de los mejores parámetros entre las combinaciones muestreadas por RandomizedSearchCV
.
¡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 explain when to use RandomizedSearchCV instead of GridSearchCV?
How do I choose the right value for n_iter in RandomizedSearchCV?
What are the main advantages and disadvantages of RandomizedSearchCV?
Awesome!
Completion rate improved to 3.13
Desafío: Ajuste de Hiperparámetros con RandomizedSearchCV
Desliza para mostrar el menú
El principio de RandomizedSearchCV
es similar al de GridSearchCV
, pero en lugar de probar todas las combinaciones posibles, evalúa solo un subconjunto muestreado aleatoriamente.
Por ejemplo, el siguiente param_grid
contiene 100 combinaciones:
param_grid = {
'n_neighbors': [1, 3, 5, 7, 9, 12, 15, 17, 20, 25],
'weights': ['distance', 'uniform'],
'p': [1, 2, 3, 4, 5]
}
GridSearchCV
probaría las 100 combinaciones, lo cual es muy costoso en tiempo. RandomizedSearchCV
puede, en cambio, evaluar un subconjunto más pequeño, por ejemplo, 20 combinaciones elegidas aleatoriamente. Esto reduce el tiempo de cómputo y normalmente produce resultados cercanos a los mejores.
El número de combinaciones a probar se controla mediante el argumento n_iter
(el valor predeterminado es 10). Por lo demás, el uso es igual que con GridSearchCV
.
Swipe to start coding
- Inicialización de un objeto
RandomizedSearchCV
con la cuadrícula de parámetros y configuración den_iter=20
. - Inicialización de un objeto
GridSearchCV
con la misma cuadrícula de parámetros. - Entrenamiento de ambos objetos de búsqueda utilizando
.fit(X, y)
. - Impresión del mejor estimador del grid search con
.best_estimator_
. - Impresión de la mejor puntuación del randomized search con
.best_score_
.
Solución
Puedes intentar ejecutar el código varias veces. Observa la diferencia entre las dos puntuaciones. A veces, las puntuaciones pueden ser iguales debido a la presencia de los mejores parámetros entre las combinaciones muestreadas por RandomizedSearchCV
.
¡Gracias por tus comentarios!
Awesome!
Completion rate improved to 3.13single