ComeçarComece gratuitamente

Ajuste de hiperparâmetros com RandomizedSearchCV

Como você viu, GridSearchCV pode ser caro do ponto de vista computacional, principalmente se você estiver pesquisando em um grande espaço de hiperparâmetros. Nesse caso, você pode usar RandomizedSearchCV, que testa um número fixo de configurações de hiperparâmetros a partir de distribuições de probabilidade especificadas.

Os conjuntos de treinamento e teste de diabetes_df foram pré-carregados para você como X_train, X_test, y_train e y_test, sendo que a variável dependente é "diabetes". Um modelo de regressão logística foi criado e armazenado como logreg, além de uma variável KFold armazenada como kf.

Você deve definir um intervalo de hiperparâmetros e usar RandomizedSearchCV, que foi importado de sklearn.model_selection, para procurar hiperparâmetros ideais com base nessas opções.

Este exercício faz parte do curso

Aprendizado Supervisionado com o scikit-learn

Ver Curso

Instruções de exercício

  • Crie params, adicionando "l1" e "l2" como valores de penalty, definindo C como um intervalo com 50 floats entre 0.1 e 1.0, e class_weight como "balanced" ou como um dicionário contendo 0:0.8, 1:0.2.
  • Crie o objeto Randomized Search CV, passando o modelo e os parâmetros e definindo cv igual a kf.
  • Ajuste logreg_cv aos dados de treinamento.
  • Imprima os melhores parâmetros e a pontuação de precisão do modelo.

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

# 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 e executar código