Ein Modell für das Tuning vorbereiten
Lass uns die Hyperparameter eines Binary-Classification-Modells tunen, das beim Klassifizieren des Breast-Cancer-Datensatzes gut abschneidet.
Du hast gesehen, dass der erste Schritt, um ein Modell in einen sklearn-Estimator zu verwandeln, darin besteht, eine Funktion zu schreiben, die es erzeugt. Die Definition dieser Funktion ist wichtig, da das Hyperparameter-Tuning durchgeführt wird, indem die Argumente, die deine Funktion erhält, variiert werden.
Schreibe eine einfache Funktion create_model(), die sowohl eine Lernrate als auch eine Aktivierungsfunktion als Argumente entgegennimmt. Der Adam-Optimierer wurde als Objekt aus tensorflow.keras.optimizers importiert, sodass du auch seinen Lernraten-Parameter ändern kannst.
Diese Übung ist Teil des Kurses
<Kurs>Einstieg ins Deep Learning mit Keras</Kurs>Übungsanweisungen
- Setze die Lernrate des
Adam-Optimierer-Objekts auf den in den Argumenten übergebenen Wert. - Setze die Aktivierungen der Hidden Layers auf den in den Argumenten übergebenen Wert.
- Übergib den Optimierer und die Binary-Cross-Entropy-Loss an die
.compile()-Methode.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Creates a model given an activation and learning rate
def create_model(learning_rate, activation):
# Create an Adam optimizer with the given learning rate
opt = Adam(lr = ____)
# Create your binary classification model
model = Sequential()
model.add(Dense(128, input_shape = (30,), activation = ____))
model.add(Dense(256, activation = ____))
model.add(Dense(1, activation = 'sigmoid'))
# Compile your model with your optimizer, loss, and metrics
model.compile(optimizer = ____, loss = ____, metrics = ['accuracy'])
return model