野球Hack!(続き)~Pythonを用いた野球サービス構築 #bpstudy

Post on 28-Jan-2018

929 views 0 download

Transcript of 野球Hack!(続き)~Pythonを用いた野球サービス構築 #bpstudy

Who am I ?

• Shinichi Nakagawa(@shinyorke)

• Pythonで野球の人(野生の野球アナリスト)

• Python / Agile / Infra as a code(Dockerとか)

• 贔屓チーム

• 北海道日本ハムファイターズ

• オークランド・アスレチックス

• BPStudy登壇:4回目(#79, #89, #91, #99)

野球Hack~Pythonを用いたデータ分析と可視化http://www.slideshare.net/shinyorke/hackpython-pyconjp

反響

• 60席+立ち見&床席40人ちょっと(推定)→発表時の聴衆の皆さま(感謝!)

• 約20,000views(SlideShare)

• 220→はてなブックマークの数(減ってた)

とても興奮している. ありがとう!※なお、カノーさんはシアトルに来てから(ry

Today’s Starting Member

• デモアプリ(のコード)を公開しました!

• 次回予告

おさらい

分析と可視化

• レスターは何月に一番勝っているのか?

• ボットのマルチ四球(=1試合2四球)の回数

Jon Lester Joey Votto

Jon Lester(ジョン・レスター)

• メジャー屈指の先発左腕、優勝請負人 ※世界一経験二回

• プレーオフ(10/9)に先発、なお負け投手

• レッドソックス(2006-2014)→アスレチックス(2014)→カブス(2015)

レスターさんの月別勝利数

• 調子いい時は4,5月で稼いでいる、8,9月も良さげだがそんなに極端ではない

• 残りの月はなんか微妙だけど傾向がアレ ちなみに7月はオールスターの為登板が少ない(レスターにかぎらず)

Joey Votto(ジョーイ・ボット)

• レッズ一筋(2007-2015)、強打の一塁手

• 選球眼が良すぎて散歩(四球)が多い、通算アダム・ダン率は38%

• 内野フライが異常に少ない。とある統計によると、2009-2012の4年間で3本(ファ!?)

塁間さんぽ(イッチVSボット)

• 月別の四球数、凡例の数字はシーズン通算

• 圧倒的にボットさんが散歩好き、特に8,9月やばい

• 神イチローはとにかく打って走るスタイル、春先はまあまあ歩いてる

イチロー ボット

マルチさんぽ(イッチVSボット)

• 1試合で2個以上四球を選んだ試合を月別にカウント

• ボットさんの回数がやばい

• 神イチローはある意味予想通り、流石天才バッター

イチロー ボット

コード、公開しました!

https://github.com/Shinichi-Nakagawa/hatteberg

MLBの野球データを用いた分析と可視化のサンプル(Python)を公開しました

http://shinyorke.hatenablog.com/entry/2015/11/15/231336

こだわりポイント

• 自動化~煩わしい前処理の型化

• 高速化~15年分のMLBデータを10分でDB化

• すぐ使えるサンプルの提供

自動化

• ダルい作業である、前処理を自動化

• 野球データのダウンロード,前処理,作成を一気通貫に出来る仕組みに作り直し

• MySQLをDockerで一発作成&マイグレツール「py-retrosheet」を作り直し

https://github.com/Shinichi-Nakagawa/py-retrosheet

高速化(特にマイグレツール)

• 従来のマイグレツール(py-retrosheet)

→1シーズン分のデータ作成に20分 15年分は(ry

• 作りなおしたマイグレツール→1シーズン分で1分かからず 15年分は10分でデータ取得~前処理~DB作成!

15年分のMLB試合データを10分でMySQLに格納するPythonスクリプト(野球Hack!)

http://qiita.com/shinyorke/items/d44d00d0f02b09b8b0ed

サンプルコード

• Jupyter notebookベースで使えるサンプルを用意

• レスターの勝ち星、ボットの散歩に加え、背番号55の方のデータ分析サンプルを追加

• Jupyterで遊びたい人はどうぞ!

結び

• 誰でも野球Hack!出来る仕組みにした(つもり)

→公開をモチベーションに、自動化と高速化をやり切った 現実使える仕組み&使い心地じゃないと意味ない(おもてなしの心)

• もっといい作り・プロダクトにしたい! →野球で何かやりたい人は活用して欲しい&フィードバック待ってます!

• 現実的な使い道→15年分のMLB打席データ(約280万レコード)が割と楽に手に入る データ見てニヤニヤしたり、機械学習の勉強ネタにどうぞ!

Next Challenge…

今年やったネタ

これカッコ良くね?

今年やったネタ

http://m.mlb.com/apps/atbat?c_id=mlb

Next Challenge

• MLB一球速報(MLB At Bat)データを用いた分析と可視化Pitch f/x(高性能スピードガン)のデータを用いた分析と可視化、やってます! ※ライセンスは問題無いです(念のため)

• 選手のタイプ(配球やコース、打者の好きなボールetc…)を分析したい→そろそろ機械学習まじめにやる

• PyCon JP 2016で発表出来る…はず(Proposal通れば)

ゲームセット!!!ご清聴ありがとうございました.

Shinichi Nakagawa(Twitter/Facebook/hatena:@shinyorke)