Pipeline zur Vorhersage der Songpopularität
In dieser letzten Übung erstellst du eine Pipeline für die Imputation fehlender Werte, die Skalierung von Merkmalen und die Optimierung der Hyperparameter eines Modells für die logistische Regression. Ziel ist es, die besten Parameter und die höchste Korrektklassifikationsrate bei der Vorhersage des Genres von Songs zu finden.
Alle Modelle und Objekte, die für den Aufbau der Pipeline benötigt werden, sind bereits geladen.
Diese Übung ist Teil des Kurses
Überwachtes Lernen mit scikit-learn
Anleitung zur Übung
- Erstelle die drei Schritte für die Pipeline: ein SimpleImputer-Objekt, ein StandardScaler-Objekt und ein LogisticRegression-Objekt.
- Erstelle ein Pipeline-Objekt und übergib die Variable
steps
. - Instanziiere ein GridSearch-Objekt, um eine Kreuzvalidierung mit der Pipeline und den Parametern durchzuführen.
- Gib die besten Parameter aus sowie die berechnete Korrektklassifikationsrate der Testmenge für das GridSearch-Objekt.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
# Create steps
steps = [("imp_mean", ____()),
("scaler", ____()),
("logreg", ____())]
# Set up pipeline
pipeline = ____(____)
params = {"logreg__solver": ["newton-cg", "saga", "lbfgs"],
"logreg__C": np.linspace(0.001, 1.0, 10)}
# Create the GridSearchCV object
tuning = ____(____, param_grid=____)
tuning.fit(X_train, y_train)
y_pred = tuning.predict(X_test)
# Compute and print performance
print("Tuned Logistic Regression Parameters: {}, Accuracy: {}".format(____.____, ____.____))