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
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 zwischen0.001
und1.0
für den HyperparameterC
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_)