Compileer en train het model
Nu je een model met 2 uitgangen hebt, compileer je het met 2 verliesfuncties: mean absolute error (MAE) voor 'score_diff' en binary cross-entropy (ook wel logloss) voor 'won'. Train daarna het model met 'seed_diff' en 'pred' als invoer. Voor de uitgangen voorspel je 'score_diff' en 'won'.
Dit model kan de scores van de wedstrijden gebruiken om ervoor te zorgen dat spannende wedstrijden (klein scoreverschil) lagere winstkansen hebben dan afstraffingen (groot scoreverschil).
Het regressieprobleem is makkelijker dan het classificatieprobleem omdat MAE het model minder hard bestraft voor een verlies door toeval. Als bijvoorbeeld score_diff -1 is en won 0, betekent dat dat team_1 wat pech had en met één vrije worp verschil verloor. De data voor het makkelijke probleem helpt het model een oplossing te vinden voor het moeilijke probleem.
Deze oefening maakt deel uit van de cursus
Advanced Deep Learning met Keras
Oefeninstructies
- Importeer
Adamuitkeras.optimizers. - Compileer het model met 2 verliezen:
'mean_absolute_error'en'binary_crossentropy', en gebruik de Adam-optimizer met een learning rate van 0,01. - Train het model met de kolommen
'seed_diff'en'pred'als invoer en de kolommen'score_diff'en'won'als doelen. - Gebruik 10 epochs en een batchgrootte van 16384.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Import the Adam optimizer
____
# Compile the model with 2 losses and the Adam optimzer with a higher learning rate
model.____(loss=['____', '____'], optimizer=____)
# Fit the model to the tournament training data, with 2 inputs and 2 outputs
model.____(games_tourney_train[['____', '____']],
[games_tourney_train[['____']], games_tourney_train[['____']]],
epochs=____,
verbose=True,
batch_size=____)