Python Professional Baseball Programming Open Data Edition #bpstudy 91(2015/3/25)

  • View
    1.499

  • Download
    0

  • Category

    Sports

Preview:

Citation preview

Python Professional Baseball Programming Open Data Edition

Shinichi Nakagawa a.k.a. @shinyorke (Pythonista & 野生の野球アナリスト)

Pythonプロ野球プログラミング - オープンデータ活用編

発表タイトルの由来

http://www.shuwasystem.co.jp/products/7980html/4315.html

自己紹介• Shinichi Nakagawa(35)

• 某R社のWebエンジニア

• 野球とPythonが大好き

• セイバーメトリクス信者

• (自称)野生の野球アナリスト→野球のオープンデータをHackしたり成果を発表したりしてます

野球ファンとして…• 【MLB】Oakland Athletics(マネーボール好き)→地区優勝したらコスプレします(証拠画像有り)

• 【NPB】北海道日本ハムファイターズ(地元だから) ※元々は阪神ファンでした

• 好きな現役野球選手

• 鳥谷敬(阪神)

• ココ・クリスプ(アスレチックス外野手)

• 尊敬する野球関係者

• ビリー・ビーン(アスレチックスGM)

• 野村克也(ノムさん)

• 新庄剛志(阪神の新庄が居なかったら野球見てない)

野生の野球アナリスト活動• 発表スライドはこちらを参照→ http://www.slideshare.net/shinyorke

• BPStudy #79 「Baseball Play Study」「Three Out Change!!~アウトについて語ろう」

• PyCon JP 2014「Pythonではじめる野球プログラミング」

• 俺のXP祭り2014「Lean Startup × 野球」

• TokyuRuby会議08「Railsではじめる野球プログラミング」

• Hack

• GitHubで公開しています→ https://github.com/Shinichi-Nakagawa

スターティングメンバー

• 2015年プロ野球「ガッカリする」見どころ

• Python Professional Baseball Programming

スターティングメンバー

• 2015年プロ野球「ガッカリする」見どころ

• Python Professional Baseball Programming

2015年プロ野球 見どころ(楽しい方)

選手 見どころ 理由

柳田悠岐(ソ) トリプルスリー!(3割30本30盗塁)

・去年が惜しかった ・ヤフオクドームに ラッキーゾーン

成瀬善久(ヤ) 新天地で活躍!! ヤ投の救世主に

・セにいないタイプの左腕 ・新天地で心身ともに復活 (希望)

菊池涼介(広) 3年連続GG・ずば抜けた身体能力 ・常人離れした判断力 ・犬なみの機動力

2015年プロ野球 見どころ(ガッカリする方)

選手 見どころ 理由

柳田悠岐(ソ) トリプルスリー ならず!!!

ゴロ打球多い、BABIP高すぎ。ラッキーゾーンを活かせるタイプではない!!!

成瀬善久(ヤ) 新天地でも花火師!・本拠地は神宮 ・被本塁打多い 説明不要ですね(棒読み)

菊池涼介(広) 3年連続GG?過去二年の守備指標高すぎでそろそろ揺り戻しが来てもおかしくない?

詳しい話は懇親会にて!!!

スターティングメンバー

• 2015年プロ野球「ガッカリする」見どころ

• Python Professional Baseball Programming

※ここから先はMLB(メジャーリーグ)の話です

Python Professional Baseball Programming

• データを手に入れる

• データクリーニングと可視化(Python)

Python Professional Baseball Programming

• データを手に入れる

• データクリーニングと可視化(Python)

データを手に入れる

メディア 概要 特徴

Sean Lahman

・野球選手のプロフィールと成績 ・一部チームのデータもあり ・PyCon JP 2014でネタにした http://www.seanlahman.com/

・CSV/SQL ・選手情報に特化 ・試合情報はほぼ無い ・使いやすい

RETROSHEET・スコアブックのオープンデータ ・試合情報が詳細に書かれている ・WEB+DB PRESS vol.84に記事が http://www.retrosheet.org/

・CSVのみ ・情報がかなり充実 ・フォーマットが独特で使いにくい

Python Professional Baseball Programming

• データを手に入れる

• データクリーニングと可視化(Python)

PythonでHack

• エディターとツール

• インフラ構築

• アプリケーション構築

RETOROSHEETをHackした時に使ったものを紹介します

エディターとツール• PyCharm

• Pythonを代表するIDE(統合開発環境)メッチャ使いやすい

• https://www.jetbrains.com/pycharm/

• IPython notebook

• 対話型インタプリタiPythonのWebアプリ版

• グラフ描画、データ解析の道具として便利

• http://ipython.org/notebook.html

インフラ構築• Vagrant ※Ruby製

• 仮想環境構築・管理

• (中川個人としては)DBサーバーの構築・管理に活用

• https://www.vagrantup.com/

• Ansible

• Python製構成管理ライブラリ

• playbook(recipe的なやつ)にサーバー構成を書いて実行

• http://yteraoka.github.io/ansible-tutorial/

アプリケーション構築• SQLAlchemy(O/R Mapper)http://www.sqlalchemy.org/

• sqlacodegen(DB schemeからコード生成) https://pypi.python.org/pypi/sqlacodegen

• matplotlib(グラフ描画)http://matplotlib.org/

• PY-RETROSHEET

PY-RETROSHEET• RETROSHEETのCSVをRDB(MySQLなど)に変換するライブラリ

• RETROSHEETをアプリから使えるデータに

• 正規化は最低限、インデックスは無い

• https://github.com/wellsoliver/py-retrosheet

デモIchiro Suzukiさん(41)のヤンキース時代を可視化

• デレク・ジーターが引退した日の打撃成績

• 2014シーズンの打球傾向(Battedball) →フライかゴロか会心の当たり(Line Drive)か?

イチローさん (ジーターのヤンスタ最終戦)

イチローさん (打球がラインドライブした数)

他にもテクニック有り〼

http://www.shuwasystem.co.jp/products/7980html/4315.html

Let’s Play Baseball Hack!!!ご清聴ありがとうございました!

Twitter/Facebook/hatena: @shinyorke