O objeto RandomizedSearchCV
Assim como a biblioteca GridSearchCV do Scikit Learn, RandomizedSearchCV oferece vários recursos úteis para realizar uma busca aleatória de forma eficiente. Você vai criar um objeto RandomizedSearchCV, fazendo o pequeno ajuste necessário em relação ao objeto GridSearchCV.
As opções desejadas são:
- Um Estimator padrão de Gradient Boosting Classifier
- Validação cruzada com 5 folds
- Usar acurácia para avaliar os modelos
- Usar 4 núcleos para processamento em paralelo
- Garantir que você faça refit no melhor modelo e retorne as pontuações de treino
- Amostrar aleatoriamente 10 modelos
A grade de hiperparâmetros deve ser para learning_rate (150 valores entre 0.1 e 2) e min_samples_leaf (todos os valores entre 20 e 64, inclusive).
Você terá disponíveis os conjuntos de dados X_train e y_train.
Este exercício faz parte do curso
Ajuste de Hiperparâmetros em Python
Instruções do exercício
- Crie uma grade de parâmetros conforme especificado no contexto acima.
- Crie um objeto
RandomizedSearchCVconforme descrito no contexto acima. - Treine o objeto
RandomizedSearchCVcom os dados de treino. - Imprima os valores escolhidos pelo processo de modelagem para ambos os hiperparâmetros.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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_['____'])