Skompiluj i dopasuj model
Masz już model z 2 wyjściami – teraz go skompiluj, używając 2 funkcji straty: błędu średniego bezwzględnego (MAE) dla 'score_diff' oraz entropii krzyżowej (zwanej też logloss) dla 'won'. Następnie dopasuj model, podając 'seed_diff' i 'pred' jako dane wejściowe. Na wyjściu model powinien przewidywać 'score_diff' i 'won'.
Model może wykorzystywać wyniki meczów, aby upewnić się, że wyrównane spotkania (mała różnica punktów) mają niższe prawdopodobieństwo wygranej niż mecze rozstrzygnięte z dużą przewagą.
Problem regresji jest łatwiejszy niż problem klasyfikacji, ponieważ MAE mniej karze model za stratę spowodowaną przypadkiem. Na przykład, jeśli score_diff wynosi -1, a won wynosi 0, oznacza to, że team_1 miał pecha i przegrał o jeden rzut wolny. Dane z łatwiejszego problemu pomagają modelowi znaleźć rozwiązanie trudniejszego.
To ćwiczenie jest częścią kursu
Zaawansowane uczenie głębokie z Keras
Instrukcje do ćwiczenia
- Zaimportuj
Adamzkeras.optimizers. - Skompiluj model z 2 funkcjami straty:
'mean_absolute_error'i'binary_crossentropy', używając optymalizatora Adam ze współczynnikiem uczenia 0.01. - Dopasuj model, podając kolumny
'seed_diff'i'pred'jako dane wejściowe oraz kolumny'score_diff'i'won'jako docelowe. - Użyj 10 epok i rozmiaru wsadu 16384.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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=____)