Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Importeer KerasClassifier uit de scikit_learn-wrappers van tensorflow.keras.
  • Gebruik je functie create_model bij het instantiëren van je KerasClassifier.
  • Stel 'relu' en 'tanh' in als activation, 32, 128 en 256 als batch_size, 50, 100 en 200 epochs, en een learning_rate van 0.1, 0.01 en 0.001.
  • Geef je geconverteerde model en de gekozen params door wanneer je je RandomizedSearchCV-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()
Code bewerken en uitvoeren