ComenzarEmpieza gratis

El objeto RandomizedSearchCV

Al igual que la librería GridSearchCV de Scikit Learn, RandomizedSearchCV ofrece muchas funciones útiles para llevar a cabo un random search de forma eficiente. Vas a crear un objeto RandomizedSearchCV, haciendo el pequeño ajuste necesario respecto al objeto GridSearchCV.

Las opciones deseadas son:

  • Un estimador por defecto Gradient Boosting Classifier
  • Validación cruzada de 5 pliegues
  • Usar accuracy para evaluar los modelos
  • Usar 4 núcleos para el procesamiento en paralelo
  • Asegurarte de reajustar (refit) el mejor modelo y devolver las puntuaciones de entrenamiento
  • Muestrear aleatoriamente 10 modelos

La rejilla de hiperparámetros debe ser para learning_rate (150 valores entre 0.1 y 2) y min_samples_leaf (todos los valores entre 20 y 64, ambos incluidos).

Tendrás disponibles los conjuntos X_train y y_train.

Este ejercicio forma parte del curso

Ajuste de hiperparámetros en Python

Ver curso

Instrucciones del ejercicio

  • Crea una rejilla de hiperparámetros tal y como se especifica arriba.
  • Crea un objeto RandomizedSearchCV como se describe en el contexto anterior.
  • Ajusta el objeto RandomizedSearchCV a los datos de entrenamiento.
  • Imprime los valores elegidos por el proceso de modelado para ambos hiperparámetros.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Create the parameter grid
param_grid = {'learning_rate': np.linspace(____,____,150), 'min_samples_leaf': list(range(____,65))} 

# Create a random search object
random_GBM_class = ____(
    estimator = ____,
    ____ = param_grid,
    ____ = 10,
    scoring='____', n_jobs=____, cv = ____, refit=____, return_train_score = ____)

# Fit to the training data
random_GBM_class.fit(____, ____)

# Print the values used for both hyperparameters
print(random_GBM_class.____['param_learning_rate'])
print(random_GBM_class.cv_results_['____'])
Editar y ejecutar código