Zentrierung und Skalierung für die Klassifikation
Jetzt kombinierst du die Skalierung und die Modellerstellung in einer Pipeline für die Kreuzvalidierung.
Deine Aufgabe ist es, eine Pipeline zur Skalierung von Merkmalen im Datensatz music_df
zu erstellen und eine GridSearch-Kreuzvalidierung mithilfe eines Modells für die logistische Regression mit verschiedenen Werten für den Hyperparameter C
durchzuführen. Die Zielvariable hier ist "genre"
und besteht aus den binären Werten 1
für das Genre Rock und 0
für alle anderen Genres.
StandardScaler
, LogisticRegression
und GridSearchCV
wurden bereits importiert.
Diese Übung ist Teil des Kurses
Überwachtes Lernen mit scikit-learn
Anleitung zur Übung
- Erstelle die Pipeline mit einem
StandardScaler()
-Objekt namens"scaler"
im ersten Schritt und einem Modell für die logistische Regression namens"logreg"
im zweiten Schritt. - Erstelle den Parameterraum (
parameters
) mit 20 gleichmäßig verteilten Gleitkommawerten zwischen0.001
und1.0
für den HyperparameterC
des Modells für die logistische Regression innerhalb der Pipeline. - Instanziiere das GridSearch-Objekt.
- Passe das GridSearch-Objekt an die Trainingsdaten an.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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_)