Zentrieren und Skalieren für die Klassifikation

Jetzt bringst du Skalierung und Modellbildung in einer Pipeline für die Kreuzvalidierung zusammen.

Deine Aufgabe ist es, eine Pipeline zur Skalierung von Merkmalen im Datensatz music_df zu erstellen und eine GridSearch-Kreuzvalidierung mithilfe eines logistischen Regressionsmodells mit verschiedenen Werten für den Hyperparameter C durchzuführen. Die Zielvariable ist hier "genre", die binäre Werte für Rock als 1 und jedes andere Genre als 0 enthält.

StandardScaler, LogisticRegression und GridSearchCV wurden für dich importiert.

Diese Übung ist Teil des Kurses

Überwachtes Lernen mit scikit-learn

Kurs anzeigen

Anleitung zur Übung

  • Erstelle die Schritte für die Pipeline: ein StandardScaler()-Objekt namens "scaler" und ein logistisches Regressionsmodell namens "logreg".
  • Erstelle den Parameterraum (parameters) und suche 20 gleichmäßig verteilte Gleitkommawerte zwischen 0.001 und 1.0 für den Hyperparameter C des logistischen Regressionsmodells innerhalb der Pipeline.
  • Instanziiere das GridSearch-Objekt.
  • Passe das GridSearch-Objekt an die Trainingsdaten an.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

# 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_)