チームのルックアップを定義する
共有レイヤーを使うと、モデルが複数のステップで同じ重み行列を利用できます。この演習では、各チームを1つの数値で表す「チームの強さ」レイヤーを作成します。この数値は、モデル内で両方のチームに対して使用します。入力データでチームが team_1 のときも team_2 のときも、うまく機能するよう、モデルは各チームに対応する数値を学習します。
games_season DataFrame はワークスペースに用意されています。
この演習はコースの一部です
Keras で学ぶ高度な Deep Learning
演習の手順
- ユニークなチーム数を数えます。
- 各チームIDを、そのチームの強さを表す1つの数値にマッピングする埋め込みレイヤーを作成します。
- 出力形状は1次元にします(チームを1つの数値で表現したいため)。
- 入力長は1次元にします(各チームはちょうど1つのIDで表されるため)。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Imports
from tensorflow.keras.layers import Embedding
from numpy import unique
# Count the unique number of teams
n_teams = ____(games_season[____]).shape[0]
# Create an embedding layer
team_lookup = Embedding(input_dim=n_teams,
output_dim=____,
input_length=____,
name='Team-Strength')