Centrage et mise à l'échelle pour la classification
Vous allez maintenant combiner la mise à l'échelle et la construction de modèle dans un pipeline pour la validation croisée.
Votre tâche est de construire un pipeline pour mettre à l'échelle les variables du jeu de données music_df et d'effectuer une validation croisée par recherche en grille en utilisant un modèle de régression logistique avec différentes valeurs pour l'hyperparamètre C. La variable cible ici est "genre", qui contient des valeurs binaires : rock comme 1 et tout autre genre comme 0.
StandardScaler, LogisticRegression et GridSearchCV ont déjà été importés pour vous.
Cette activité fait partie du cours
Apprentissage supervisé avec scikit-learn
Instructions de l’exercice
- Créez les étapes du pipeline : un objet
StandardScaler()nommé"scaler", et un modèle de régression logistique nommé"logreg". - Créez
parameters, en recherchant 20 valeurs réelles également espacées allant de0.001à1.0pour l'hyperparamètreCdu modèle de régression logistique dans le pipeline. - Instanciez l'objet de recherche en grille.
- Ajustez l'objet de recherche en grille aux données d'entraînement.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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_)