Centrage et mise à l’échelle pour la classification
Vous allez maintenant réunir la mise à l’échelle et la construction de modèles dans un pipeline de validation croisée.
Votre tâche consiste à créer un pipeline pour mettre à l’échelle les caractéristiques de l’ensemble de données music_df
et à effectuer une validation croisée par recherche de grille à l’aide d’un modèle de régression logistique avec différentes valeurs pour l’hyperparamètre C
. La variable cible est ici "genre"
, qui contient une valeur binaire : 1
pour le rock et 0
pour tout autre genre.
StandardScaler
, LogisticRegression
et GridSearchCV
ont été importés pour vous.
Cet exercice fait partie du cours
Apprentissage supervisé avec scikit-learn
Instructions
- Construisez les étapes du pipeline : un objet
StandardScaler()
nommé"scaler"
et un modèle de régression logistique nommé"logreg"
. - Créez le fichier
parameters
, en recherchant 20 valeurs flottantes équidistantes allant de0.001
à1.0
pour l’hyperparamètreC
du modèle de régression logistique dans le pipeline. - Instanciez l’objet de recherche de grille.
- Ajustez l’objet de recherche de grille aux données d’apprentissage.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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_)