ComenzarEmpieza gratis

Ajuste de hiperparámetros con RandomizedSearchCV

Como has visto, GridSearchCV puede ser costoso desde el punto de vista informático, sobre todo si buscas en un espacio de hiperparámetros grande. En este caso, puedes utilizar RandomizedSearchCV, que prueba un número fijo de configuraciones de hiperparámetros a partir de distribuciones de probabilidad especificadas.

Se han precargado los conjuntos de entrenamiento y prueba de diabetes_df como X_train, X_test, y_train e y_test, donde el objetivo es "diabetes". Se ha creado un modelo de regresión logística y se ha almacenado como logreg, así como una variable KFold almacenada como kf.

Definirás una serie de hiperparámetros y utilizarás RandomizedSearchCV, que se ha importado de sklearn.model_selection, para buscar hiperparámetros óptimos a partir de estas opciones.

Este ejercicio forma parte del curso

Aprendizaje supervisado con scikit-learn

Ver curso

Instrucciones del ejercicio

  • Crea params, añadiendo "l1" y "l2" como valores de penalty, estableciendo C en un rango de valores flotantes de 50 entre 0.1 y 1.0, y class_weight en "balanced" o en un diccionario que contenga 0:0.8, 1:0.2.
  • Crea el objeto RandomizedSearchCV, pasándole el modelo y los parámetros, y estableciendo cv igual a kf.
  • Ajusta logreg_cv a los datos de entrenamiento.
  • Imprime los mejores parámetros del modelo y la puntuación de precisión.

Ejercicio interactivo práctico

Prueba este ejercicio completando el código de muestra.

# Create the parameter space
params = {"penalty": ["____", "____"],
         "tol": np.linspace(0.0001, 1.0, 50),
         "C": np.linspace(____, ____, ____),
         "class_weight": ["____", {0:____, 1:____}]}

# Instantiate the RandomizedSearchCV object
logreg_cv = ____(____, ____, cv=____)

# Fit the data to the model
logreg_cv.____(____, ____)

# Print the tuned parameters and score
print("Tuned Logistic Regression Parameters: {}".format(____.____))
print("Tuned Logistic Regression Best Accuracy Score: {}".format(____.____))
Editar y ejecutar código