Slide 1

Slide 1 text

Basketball Behavior Challenge 1位解法 Shotaro Ishihara, u++ (@upura0) Sports Analyst Meetup #9 2020年12⽉13⽇ 1

Slide 2

Slide 2 text

本発表について 2019年12⽉〜2020年9⽉に開催されていた「Basketball Behavior Challenge: BBC2020」[1]の1位解法の紹介 時系列の座標データから「スクリーンプレイ」があったか否 かを判定するコンペ [1] https://competitions.codalab.org/competitions/23905 2

Slide 3

Slide 3 text

⾃⼰紹介 Shotaro Ishihara, u++ (@upura0) spoanaの運営メンバー 本業はメディア企業のデータサイエンティスト 本コンペは、spoana #7のLT発表で知った(アーカイブ[2]) 共著に『PythonではじめるKaggleスタートブック』(講談 社)[3] [2] https://www.youtube.com/channel/UCX1kD7i5JvvRIZdo9xjlakw [3] https://www.kspub.co.jp/book/detail/5190067.html 3

Slide 4

Slide 4 text

データの概要 frame scr_x scr_y usr_x usr_y uDF_x uDF_y bal_x bal_y 0 2.89 4.74 5.49 1.5 2.78 5.22 6.98 12.7 1 2.88 4.7 5.52 1.51 2.8 5.2 7.08 12.52 2 2.87 4.67 5.54 1.53 2.82 5.19 7.13 12.35 3 2.86 4.65 5.56 1.54 2.84 5.17 7.08 12.37 ... 学習⽤データセット(正例400、負例1128) テスト⽤データセット382 フレーム数は⼀定ではない 予測は0か1なので、予測値の閾値決定が必要 4

Slide 5

Slide 5 text

スコアの推移 5

Slide 6

Slide 6 text

機械学習の教師あり学習 [4] ⽯原ら, 『PythonではじめるKaggleスタートブック』, 講談社 6

Slide 7

Slide 7 text

最初のアプローチ 知識に基づき、予測に効きそうな7つの特徴量を抽出 . プレイヤー3⼈とボールの距離の最⼩値 C = 4 2 6 . フレーム数 機械学習アルゴリズムには、過去実績から期待値が⼤きい 「LightGBM」を利⽤ 7

Slide 8

Slide 8 text

性能の向上のために 1位[5]と2位[6]の解法を⽐較 . 「tsfresh」による特徴抽出 . ニューラルネットワークの利⽤ . アンサンブル(複数の予測値の混ぜ合わせ) [5] https://github.com/upura/basketball-behavior-challenge [6] https://github.com/takaiyuk/codalab-bbc2020 8

Slide 9

Slide 9 text

「tsfresh」による特徴抽出 特徴量の数: 11340 (4 agents * 2 dimensions + 6 distances between agents ) * 810 重要視された特徴量 9

Slide 10

Slide 10 text

ニューラルネットワーク 時系列の情報の最⼩値だけ使うと、情報を⼤きく失う 畳み込みニューラルネットワークを利⽤して、特徴を抽出 [7] https://www.mdpi.com/1424-8220/20/13/3697/htm 10

Slide 11

Slide 11 text

アンサンブル 複数の予測値の混ぜ合わせ 11

Slide 12

Slide 12 text

まとめ スポーツを題材にしたコンペは楽しい 知識を活かしてスコアが伸びていく 今はKaggleで「NFL 1st and Future - Impact Detection」[8] が開催中 [8] https://www.kaggle.com/c/nfl-impact-detection 12