Centralização e escalonamento para classificação

Agora você deve combinar o escalonamento e a criação de um modelo em um pipeline para validação cruzada.

Sua tarefa é criar um pipeline para fazer o escalonamento das variáveis independentes do conjunto de dados music_df e realizar a validação cruzada com pesquisa em grade usando um modelo de regressão logística com diferentes valores do hiperparâmetro C. A variável dependente aqui é "genre", que contém valores binários em que rock é igual a 1 e qualquer outro gênero é igual a 0.

StandardScaler, LogisticRegression e GridSearchCV já foram importados para você.

Este exercício faz parte do curso

Aprendizado Supervisionado com o scikit-learn

Ver Curso

Instruções de exercício

  • Crie as etapas do pipeline: um objeto StandardScaler() chamado "scaler" e um modelo de regressão logística chamado "logreg".
  • Crie os parâmetros (parameters), buscando 20 floats igualmente espaçados que variam de 0.001 a 1.0 para o hiperparâmetro C do modelo de regressão logística dentro do pipeline.
  • Instancie o objeto de pesquisa em grade.
  • Ajuste o objeto de pesquisa em grade aos dados de treinamento.

Exercício interativo prático

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

# Build the steps
steps = [("____", ____()),
         ("____", ____())]
pipeline = Pipeline(steps)

# Create the parameter space
parameters = {"____": np.____(____, ____, 20)}
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, 
                                                    random_state=21)

# Instantiate the grid search object
cv = ____(____, param_grid=____)

# Fit to the training data
cv.____(____, ____)
print(cv.best_score_, "\n", cv.best_params_)