Aan de slagGa gratis aan de slag

Het RandomizedSearchCV-object

Net als de GridSearchCV-bibliotheek van Scikit Learn biedt RandomizedSearchCV veel handige functies om een random search efficiënt uit te voeren. Je gaat een RandomizedSearchCV-object maken, met de kleine aanpassing die nodig is ten opzichte van het GridSearchCV-object.

De gewenste opties zijn:

  • Een standaard Gradient Boosting Classifier-Estimator
  • 5-voudige cross-validatie
  • Gebruik accuracy om de modellen te scoren
  • Gebruik 4 cores voor parallelle verwerking
  • Zorg dat je het beste model opnieuw fit en trainingscores retourneert
  • Trek willekeurig 10 modellen

De hyperparameter-grid moet zijn voor learning_rate (150 waarden tussen 0.1 en 2) en min_samples_leaf (alle waarden tussen en met 20 en 64).

Je hebt de gegevenssets X_train & y_train beschikbaar.

Deze oefening maakt deel uit van de cursus

Hyperparameter Tuning in Python

Cursus bekijken

Oefeninstructies

  • Maak een parametergrid zoals hierboven in de context gespecificeerd.
  • Maak een RandomizedSearchCV-object zoals hierboven in de context beschreven.
  • Fit het RandomizedSearchCV-object op de trainingsdata.
  • Print de waarden die het modelleerproces voor beide hyperparameters heeft gekozen.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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_['____'])
Code bewerken en uitvoeren