Compiler et entraîner le modèle
Maintenant que vous avez un modèle avec 2 sorties, compilez-le avec 2 fonctions de perte : l'erreur absolue moyenne (MAE) pour 'score_diff' et l'entropie croisée binaire (aussi appelée logloss) pour 'won'. Ensuite, entraînez le modèle avec 'seed_diff' et 'pred' comme entrées. Pour les sorties, prédisez 'score_diff' et 'won'.
Ce modèle peut utiliser les pointages des matchs pour s'assurer que les matchs serrés (écart de pointage faible) ont des probabilités de gain plus faibles que les matchs à sens unique (écart de pointage élevé).
Le problème de régression est plus simple que le problème de classification, car la MAE pénalise moins le modèle pour une défaite due au hasard. Par exemple, si score_diff vaut -1 et won vaut 0, cela signifie que team_1 a eu un peu de malchance et a perdu par un seul lancer franc. Les données du problème plus facile aident le modèle à trouver une solution au problème plus difficile.
Cette activité fait partie du cours
Machine Learning avancé avec Keras
Instructions de l’exercice
- Importez
Adamdepuiskeras.optimizers. - Compilez le modèle avec 2 pertes :
'mean_absolute_error'et'binary_crossentropy', et utilisez l'optimiseur Adam avec un taux d'apprentissage de 0,01. - Entraînez le modèle avec les colonnes
'seed_diff'et'pred'comme entrées et les colonnes'score_diff'et'won'comme cibles. - Utilisez 10 époques et une taille de lot de 16384.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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=____)