Скомпілюйте та натренуйте модель
Тепер, коли у вас є модель з 2 виходами, скомпілюйте її з 2 функціями втрат: середня абсолютна похибка (MAE) для 'score_diff' і бінарна кросентропія (також відома як logloss) для 'won'. Потім натренуйте модель з 'seed_diff' та 'pred' як вхідними даними. Як виходи, передбачайте 'score_diff' і 'won'.
Ця модель може використовувати рахунки ігор, щоб гарантувати, що в рівних матчах (мала різниця в рахунку) імовірність перемоги нижча, ніж у випадку розгромів (велика різниця в рахунку).
Завдання регресії простіше за класифікацію, оскільки MAE менше карає модель за програш через випадковість. Наприклад, якщо score_diff дорівнює -1, а won — 0, це означає, що team_1 не пощастило і вона програла одним штрафним. Дані для простішого завдання допомагають моделі знайти розв'язок для складнішого.
Ця вправа є частиною курсу
Просунуте глибоке навчання з Keras
Інструкції до вправи
- Імпортуйте
Adamзkeras.optimizers. - Скомпілюйте модель із 2 втратами:
'mean_absolute_error'і'binary_crossentropy', та використайте оптимізатор Adam зі швидкістю навчання 0.01. - Натренуйте модель, використавши стовпці
'seed_diff'і'pred'як вхідні дані та стовпці'score_diff'і'won'як цільові. - Використайте 10 епох і розмір пакета 16384.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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=____)