Parameters van het model afstemmen
Het is tijd om verschillende parameters op je model uit te proberen en te zien hoe goed het presteert!
De functie create_model() die je in de vorige oefening hebt gebouwd, is klaar voor gebruik.
Omdat het trainen van het RandomizedSearchCV-object te lang zou duren, worden de resultaten die je zou krijgen geprint in de functie show_results().
Je kunt zelf random_search.fit(X,y) in de console proberen om te controleren dat het werkt nadat je de rest hebt gebouwd, maar waarschijnlijk loopt de oefening dan tegen een time-out aan (kopieer dus eerst je code als je dit probeert, anders kun je je voortgang verliezen!).
Je hoeft de optionele parameters epochs en batch_size niet te gebruiken bij het aanmaken van je KerasClassifier-object, omdat je ze al als params aan de random search meegeeft en dit al werkt.
Deze oefening maakt deel uit van de cursus
Introductie tot Deep Learning met Keras
Oefeninstructies
- Importeer
KerasClassifieruit de scikit_learn-wrappers vantensorflow.keras. - Gebruik je functie
create_modelbij het instantiëren van jeKerasClassifier. - Stel
'relu'en'tanh'in alsactivation, 32, 128 en 256 alsbatch_size, 50, 100 en 200epochs, en eenlearning_ratevan 0.1, 0.01 en 0.001. - Geef je geconverteerde
modelen de gekozenparamsdoor wanneer je jeRandomizedSearchCV-object opbouwt.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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()