Modellparameter abstimmen
Jetzt ist es Zeit, verschiedene Parameter an deinem Modell auszuprobieren und zu sehen, wie gut es abschneidet!
Die Funktion create_model(), die du in der vorherigen Übung erstellt hast, ist bereit zur Verwendung.
Da das Fitten des Objekts RandomizedSearchCV zu lange dauern würde, werden die Ergebnisse, die du erhalten würdest, in der Funktion show_results() ausgegeben.
Du könntest random_search.fit(X,y) in der Konsole selbst ausprobieren, um zu prüfen, dass es funktioniert, nachdem du alles andere aufgebaut hast, aber wahrscheinlich läuft dir die Zeit für die Übung ab (kopiere also vorher deinen Code, wenn du das versuchst, sonst könntest du deinen Fortschritt verlieren!).
Du musst die optionalen Parameter epochs und batch_size beim Erstellen deines KerasClassifier-Objekts nicht verwenden, da du sie als params an die Random Search übergibst und das bereits funktioniert.
Diese Übung ist Teil des Kurses
<Kurs>Einstieg ins Deep Learning mit Keras</Kurs>Übungsanweisungen
- Importiere
KerasClassifieraus den scikit_learn-Wrappers vontensorflow.keras. - Verwende deine Funktion
create_model, wenn du deinenKerasClassifierinstanzierst. - Setze
'relu'und'tanh'alsactivation, 32, 128 und 256 alsbatch_size, 50, 100 und 200epochssowie einelearning_ratevon 0.1, 0.01 und 0.001. - Übergib dein konvertiertes
modelund die gewähltenparams, wenn du deinRandomizedSearchCV-Objekt erstellst.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Import KerasClassifier from tensorflow.keras scikit learn wrappers
from tensorflow.keras.wrappers.____ import ____
# Create a KerasClassifier
model = KerasClassifier(build_fn = ____)
# Define the parameters to try out
params = {'activation': [____, ____], 'batch_size': [____, ____, ____],
'epochs': [____, ____, ____], 'learning_rate': [____, ____, ____]}
# Create a randomize search cv object passing in the parameters to try
random_search = RandomizedSearchCV(____, param_distributions = ____, cv = KFold(3))
# Running random_search.fit(X,y) would start the search,but it takes too long!
show_results()