Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Desafío: Ajuste Automático de Hiperparámetros | Conclusión
Quizzes & Challenges
Quizzes
Challenges
/
Introducción a las Redes Neuronales con Python

bookDesafío: Ajuste Automático de Hiperparámetros

En lugar de seleccionar manualmente valores específicos para los hiperparámetros de nuestro modelo, la búsqueda aleatoria (RandomizedSearchCV) ofrece una forma más eficiente de encontrar una configuración óptima. A diferencia de la búsqueda en cuadrícula (GridSearchCV), que evalúa sistemáticamente todas las combinaciones posibles de hiperparámetros, la búsqueda aleatoria selecciona un subconjunto aleatorio de estas combinaciones. Este enfoque reduce significativamente el costo computacional y, aun así, produce resultados sólidos.

Para redes neuronales, donde la cantidad de combinaciones posibles de hiperparámetros puede ser inmensa, probar exhaustivamente cada opción suele ser impracticable. La búsqueda aleatoria resuelve este problema mediante el muestreo aleatorio de un número definido de conjuntos de hiperparámetros, equilibrando la exploración y la eficiencia.

RandomizedSearchCV(
    estimator=model, 
    param_distributions=randomized_parameters, 
    n_iter=number_of_models_to_test,  # Number of random combinations to evaluate
    scoring='accuracy',  # Evaluation metric
    random_state=42,  # Ensures reproducibility
)
  • estimator: el modelo a optimizar (por ejemplo, MLPClassifier);
  • param_distributions: un diccionario donde las claves son los nombres de los hiperparámetros y los valores son listas de las cuales muestrear;
  • n_iter: especifica cuántas combinaciones aleatorias deben probarse. Un valor más alto aumenta las probabilidades de encontrar una combinación óptima, pero requiere mayor computación;
  • scoring: define la métrica de evaluación (por ejemplo, 'accuracy' para clasificación).
Tarea

Swipe to start coding

El objetivo es ajustar los hiperparámetros de un perceptrón multicapa (MLP) utilizando el método RandomizedSearchCV de scikit-learn.

Siga cuidadosamente estos pasos:

  1. Definir la cuadrícula de parámetros param_distributions:
  • 'hidden_layer_sizes': incluir tres configuraciones — (20, 20), (25, 25) y (30, 30);
  • 'learning_rate_init': incluir los valores 0.02, 0.01 y 0.005;
  • 'max_iter': incluir los valores 10, 30 y 50.
  1. Inicializar el modelo usando MLPClassifier().
  2. Aplicar RandomizedSearchCV:
  • Utilizar el modelo mlp definido como estimador;
  • Utilizar la cuadrícula param_distributions definida;
  • Establecer n_iter=4 para limitar el número de combinaciones de parámetros;
  • Utilizar 'accuracy' como métrica de evaluación;
  • Establecer random_state=1 para garantizar la reproducibilidad.
  1. Ajustar la búsqueda aleatoria sobre los datos de entrenamiento e imprimir los mejores parámetros encontrados.
  2. Entrenar el mejor modelo con todos los datos de entrenamiento y evaluar su precisión tanto en el conjunto de entrenamiento como en el de prueba.

Solución

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 3
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 explain the difference between RandomizedSearchCV and GridSearchCV in more detail?

How do I choose the right number for n_iter in RandomizedSearchCV?

What types of problems is RandomizedSearchCV best suited for?

close

Awesome!

Completion rate improved to 4

bookDesafío: Ajuste Automático de Hiperparámetros

Desliza para mostrar el menú

En lugar de seleccionar manualmente valores específicos para los hiperparámetros de nuestro modelo, la búsqueda aleatoria (RandomizedSearchCV) ofrece una forma más eficiente de encontrar una configuración óptima. A diferencia de la búsqueda en cuadrícula (GridSearchCV), que evalúa sistemáticamente todas las combinaciones posibles de hiperparámetros, la búsqueda aleatoria selecciona un subconjunto aleatorio de estas combinaciones. Este enfoque reduce significativamente el costo computacional y, aun así, produce resultados sólidos.

Para redes neuronales, donde la cantidad de combinaciones posibles de hiperparámetros puede ser inmensa, probar exhaustivamente cada opción suele ser impracticable. La búsqueda aleatoria resuelve este problema mediante el muestreo aleatorio de un número definido de conjuntos de hiperparámetros, equilibrando la exploración y la eficiencia.

RandomizedSearchCV(
    estimator=model, 
    param_distributions=randomized_parameters, 
    n_iter=number_of_models_to_test,  # Number of random combinations to evaluate
    scoring='accuracy',  # Evaluation metric
    random_state=42,  # Ensures reproducibility
)
  • estimator: el modelo a optimizar (por ejemplo, MLPClassifier);
  • param_distributions: un diccionario donde las claves son los nombres de los hiperparámetros y los valores son listas de las cuales muestrear;
  • n_iter: especifica cuántas combinaciones aleatorias deben probarse. Un valor más alto aumenta las probabilidades de encontrar una combinación óptima, pero requiere mayor computación;
  • scoring: define la métrica de evaluación (por ejemplo, 'accuracy' para clasificación).
Tarea

Swipe to start coding

El objetivo es ajustar los hiperparámetros de un perceptrón multicapa (MLP) utilizando el método RandomizedSearchCV de scikit-learn.

Siga cuidadosamente estos pasos:

  1. Definir la cuadrícula de parámetros param_distributions:
  • 'hidden_layer_sizes': incluir tres configuraciones — (20, 20), (25, 25) y (30, 30);
  • 'learning_rate_init': incluir los valores 0.02, 0.01 y 0.005;
  • 'max_iter': incluir los valores 10, 30 y 50.
  1. Inicializar el modelo usando MLPClassifier().
  2. Aplicar RandomizedSearchCV:
  • Utilizar el modelo mlp definido como estimador;
  • Utilizar la cuadrícula param_distributions definida;
  • Establecer n_iter=4 para limitar el número de combinaciones de parámetros;
  • Utilizar 'accuracy' como métrica de evaluación;
  • Establecer random_state=1 para garantizar la reproducibilidad.
  1. Ajustar la búsqueda aleatoria sobre los datos de entrenamiento e imprimir los mejores parámetros encontrados.
  2. Entrenar el mejor modelo con todos los datos de entrenamiento y evaluar su precisión tanto en el conjunto de entrenamiento como en el de prueba.

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 3. Capítulo 3
single

single

some-alt