Ajustarea parametrilor modelului
E momentul să testezi diferiți parametri pe modelul tău și să vezi cât de bine performează!
Funcția create_model() pe care ai construit-o în exercițiul anterior este gata de utilizat.
Deoarece antrenarea obiectului RandomizedSearchCV ar dura prea mult, rezultatele pe care le-ai obține sunt afișate prin funcția show_results().
Poți încerca random_search.fit(X,y) în consolă pentru a verifica că funcționează după ce ai construit tot restul, dar cel mai probabil vei depăși limita de timp a exercițiului (deci copiază-ți codul mai întâi dacă vrei să încerci, altfel poți pierde progresul!).
Nu este nevoie să folosești parametrii opționali epochs și batch_size când construiești obiectul KerasClassifier, deoarece îi transmiți ca params la căutarea aleatorie, iar acest lucru funcționează deja.
Acest exercițiu face parte din cursul
Introducere în Deep Learning cu Keras
Instrucțiuni pentru exercițiu
- Importă
KerasClassifierdin wrapper-urile scikit-learn aletensorflow.keras. - Folosește funcția
create_modelcând instanțieziKerasClassifier. - Setează
'relu'și'tanh'caactivation, 32, 128 și 256 cabatch_size, 50, 100 și 200 pentruepochs, șilearning_ratede 0.1, 0.01 și 0.001. - Transmite modelul tău convertit și
paramsaleși atunci când construiești obiectulRandomizedSearchCV.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()