Finjustera modellens parametrar
Nu är det dags att testa olika parametrar på din modell och se hur bra den presterar!
Funktionen create_model() som du byggde i föregående övning är redo att använda.
Eftersom det skulle ta för lång tid att anpassa RandomizedSearchCV-objektet visas de resultat du skulle få i funktionen show_results().
Du kan prova random_search.fit(X,y) i konsolen själv för att kontrollera att det fungerar när du har byggt allt annat, men det kommer troligtvis att ta för lång tid (så kopiera din kod först om du provar, annars kan du förlora dina framsteg!).
Du behöver inte använda de valfria parametrarna epochs och batch_size när du bygger ditt KerasClassifier-objekt, eftersom du skickar dem som params till den slumpmässiga sökningen – det fungerar redan.
Den här övningen är en del av kursen
Introduktion till djupinlärning med Keras
Övningsinstruktioner
- Importera
KerasClassifierfråntensorflow.kerasscikit_learn-wrappers. - Använd din funktion
create_modelnär du instansierar dinKerasClassifier. - Ange
'relu'och'tanh'somactivation, 32, 128 och 256 sombatch_size, 50, 100 och 200 somepochs, samtlearning_ratemed värdena 0.1, 0.01 och 0.001. - Skicka ditt konverterade
modeloch de valdaparamsnär du bygger dittRandomizedSearchCV-objekt.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()