Centreren en schalen voor classificatie
Nu ga je schalen en modelbouw samenbrengen in een pipeline voor cross-validatie.
Je taak is om een pipeline te bouwen die features in de music_df-gegevensset schaalt en grid search cross-validatie uitvoert met een logistiek regressiemodel voor verschillende waarden van de hyperparameter C. De doelvariabele is hier "genre", met binaire waarden: rock als 1 en elke andere genre als 0.
StandardScaler, LogisticRegression en GridSearchCV zijn al voor je geïmporteerd.
Deze oefening maakt deel uit van de cursus
Supervised Learning met scikit-learn
Oefeninstructies
- Bouw de stappen voor de pipeline: een
StandardScaler()-object met de naam"scaler", en een logistiek regressiemodel met de naam"logreg". - Maak de
parametersaan en laat 20 gelijkmatig verdeelde drijvende-kommagetallen tussen0.001en1.0zoeken voor deC-hyperparameter van het logistiek regressiemodel binnen de pipeline. - Instantier het grid search-object.
- Fit het grid search-object op de trainingsdata.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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_)