ฝึกและประเมินโมเดล

Deep Learning ขั้นสูงด้วย Keras

Zach Deane-Mayer

Data Scientist

ข้อมูลบาสเกตบอล

เป้าหมาย: พยากรณ์ผลการแข่งขันทัวร์นาเมนต์

ข้อมูลที่มี: คะแนนของทีมจากผู้จัดการแข่งขัน

import pandas as pd
games_tourney = pd.read_csv('datasets/games_tourney.csv')
games_tourney.head()

Out[1]:
   season  team_1  team_2  home  seed_diff  score_diff  score_1  score_2  won
0    1985     288      73     0         -3          -9       41       50    0
1    1985    5929      73     0          4           6       61       55    1
2    1985    9884      73     0          5          -4       59       63    0
3    1985      73     288     0          3           9       50       41    1
4    1985    3920     410     0          1          -9       54       63    0
Deep Learning ขั้นสูงด้วย Keras

ข้อมูลบาสเกตบอล

อินพุต: ผลต่างของซีด

import pandas as pd
games_tourney = pd.read_csv('datasets/games_tourney.csv')
games_tourney.head()

Deep Learning ขั้นสูงด้วย Keras

ข้อมูลบาสเกตบอล

เอาต์พุต: ผลต่างของคะแนน

import pandas as pd
games_tourney = pd.read_csv('datasets/games_tourney.csv')
games_tourney.head()

Deep Learning ขั้นสูงด้วย Keras

ข้อมูลบาสเกตบอล

อินพุต:

  • ผลต่างของซีด — ตัวเลขเดียว: -15 ถึง +15
  • ซีดมีช่วง 1-16
  • ผลต่างสูงสุด 16-1 = +15
  • ผลต่างต่ำสุด 1-16 = -15

เอาต์พุต:

  • ผลต่างของคะแนน — ตัวเลขเดียว: -50 ถึง +50
Deep Learning ขั้นสูงด้วย Keras

ข้อมูลบาสเกตบอล

  • ผลต่างของซีด: 15
    • ทีม 1: 16
    • ทีม 2: 1
  • ผลต่างของซีด: -15
    • ทีม 1: 1
    • ทีม 2: 16

Deep Learning ขั้นสูงด้วย Keras

ข้อมูลบาสเกตบอล

  • ผลต่างของคะแนน: -9
    • ทีม 1: 41
    • ทีม 2: 50
  • ผลต่างของคะแนน: 6
    • ทีม 1: 61
    • ทีม 2: 55

Deep Learning ขั้นสูงด้วย Keras

ข้อมูลบาสเกตบอล

import pandas as pd
games_tourney = pd.read_csv('datasets/games_tourney_samp.csv')
games_tourney.head()

Out[1]:
   season  team_1  team_2  home  seed_diff  score_diff  score_1  score_2  won
0    2017     320    6323     0         13          18      100       82    1
1    2017    6323     320     0        -13         -18       82      100    0
Deep Learning ขั้นสูงด้วย Keras

สร้างโมเดล

from tensorflow.keras.models import Model
from tensorflow.keras.layers import Input, Dense
input_tensor = Input(shape=(1,))
output_tensor = Dense(1)(input_tensor)
model = Model(input_tensor, output_tensor)
model.compile(optimizer='adam', loss='mae')

Deep Learning ขั้นสูงด้วย Keras

ฝึกโมเดล

from pandas import read_csv
games = read_csv('datasets/games_tourney.csv')
model.fit(games['seed_diff'],
          games['score_diff'],
          batch_size=64,
          validation_split=.20,
          verbose=True)

Deep Learning ขั้นสูงด้วย Keras

ประเมินโมเดล

model.evaluate(games_test['seed_diff'],
               games_test['score_diff'])

1000/1000 [==============================] - 0s 26us/step
Out[1]: 9.145421981811523
Deep Learning ขั้นสูงด้วย Keras

มาฝึกกันเถอะ!

Deep Learning ขั้นสูงด้วย Keras

Preparing Video For Download...