Submit Search
Pythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk Session
40 likes
26,168 views
Shinichi Nakagawa
Pycon JP 2014発表資料です。 ピタゴラス勝率とBABIPについて、Django他で可視化しました。
Software
Read more
1 of 32
Download now
Downloaded 59 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
More Related Content
PDF
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27
Shinichi Nakagawa
PDF
Pythonではじめる野球プログラミング(続き)PyCon JP 2014 LT
Shinichi Nakagawa
PDF
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
Shinichi Nakagawa
PDF
価値を見せる技術 #DevLOVE ベースボールからみる技術
Shinichi Nakagawa
PDF
Python野球クラスタの紹介
Shinichi Nakagawa
PDF
A Tour of やきう&Go - やきう民の私とGoの半年(実質3日間)
Shinichi Nakagawa
PDF
Railsではじめる野球プログラミング
Shinichi Nakagawa
PDF
【Inception-Deck】野球Hack! - Pythonを用いたデータ分析と可視化
Shinichi Nakagawa
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27
Shinichi Nakagawa
Pythonではじめる野球プログラミング(続き)PyCon JP 2014 LT
Shinichi Nakagawa
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
Shinichi Nakagawa
価値を見せる技術 #DevLOVE ベースボールからみる技術
Shinichi Nakagawa
Python野球クラスタの紹介
Shinichi Nakagawa
A Tour of やきう&Go - やきう民の私とGoの半年(実質3日間)
Shinichi Nakagawa
Railsではじめる野球プログラミング
Shinichi Nakagawa
【Inception-Deck】野球Hack! - Pythonを用いたデータ分析と可視化
Shinichi Nakagawa
What's hot
(20)
PDF
野球Hack!~Pythonを用いたデータ分析と可視化 #kwskrb #28 2015/9/30
Shinichi Nakagawa
PDF
アジャイルサムライ~Pythonista道場 #PyLadiesTokyo 1周年記念パーティー 2015/10/24
Shinichi Nakagawa
PDF
Python Professional Baseball Programming Open Data Edition #bpstudy 91(2015/3...
Shinichi Nakagawa
PDF
野球Hack!(続き)~Pythonを用いた野球サービス構築 #bpstudy
Shinichi Nakagawa
PDF
データ分析に使える野球データまとめ #PyDataTokyo meetup 2015/10/23
Shinichi Nakagawa
PPTX
Django learning Part2
Yusuke Muraoka
PDF
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
Shinichi Nakagawa
PDF
User Happyをささえるアジャイルのココロとスクラムのキホン
Shinichi Nakagawa
PDF
Rで野球のデータ解析がしたい (データが欲しい)
Takuma Hatano
PDF
こんなゴールデン・グラブ賞は嫌だ~2015 #bpstudy 100回目記念LT
Shinichi Nakagawa
PPTX
SendGrid Parse APIをデモってみる
Wataru Sato
PDF
Rでセイバーメトリクス (イチローと松井 どっちが凄い?)
Takuma Hatano
PPTX
私がCephを好きな7つの理由
Emma Haruka Iwao
PDF
Rで野球データ解析がしたい ( pitchRxを使う )
Takuma Hatano
PDF
野球データを可視化してみた ニコニコ学会
Shinichi Nakagawa
PPTX
欅坂46のメンバーを識別するアルゴリズムを作る
Katsuya Ishiyama
PPTX
興味から遠い論文を”あえて”レコメンドするSlack Botを作成してみる
Katsuya Ishiyama
PDF
情報システム部がSplunk を使うとどうなるか?
snicker_jp
PDF
Splunk_NiteX 「ノンテクエンジニアでも、デキる!ログ解析」
snicker_jp
PDF
SIerでもSphinxを使いたい! 後編
kk_Ataka
野球Hack!~Pythonを用いたデータ分析と可視化 #kwskrb #28 2015/9/30
Shinichi Nakagawa
アジャイルサムライ~Pythonista道場 #PyLadiesTokyo 1周年記念パーティー 2015/10/24
Shinichi Nakagawa
Python Professional Baseball Programming Open Data Edition #bpstudy 91(2015/3...
Shinichi Nakagawa
野球Hack!(続き)~Pythonを用いた野球サービス構築 #bpstudy
Shinichi Nakagawa
データ分析に使える野球データまとめ #PyDataTokyo meetup 2015/10/23
Shinichi Nakagawa
Django learning Part2
Yusuke Muraoka
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
Shinichi Nakagawa
User Happyをささえるアジャイルのココロとスクラムのキホン
Shinichi Nakagawa
Rで野球のデータ解析がしたい (データが欲しい)
Takuma Hatano
こんなゴールデン・グラブ賞は嫌だ~2015 #bpstudy 100回目記念LT
Shinichi Nakagawa
SendGrid Parse APIをデモってみる
Wataru Sato
Rでセイバーメトリクス (イチローと松井 どっちが凄い?)
Takuma Hatano
私がCephを好きな7つの理由
Emma Haruka Iwao
Rで野球データ解析がしたい ( pitchRxを使う )
Takuma Hatano
野球データを可視化してみた ニコニコ学会
Shinichi Nakagawa
欅坂46のメンバーを識別するアルゴリズムを作る
Katsuya Ishiyama
興味から遠い論文を”あえて”レコメンドするSlack Botを作成してみる
Katsuya Ishiyama
情報システム部がSplunk を使うとどうなるか?
snicker_jp
Splunk_NiteX 「ノンテクエンジニアでも、デキる!ログ解析」
snicker_jp
SIerでもSphinxを使いたい! 後編
kk_Ataka
Ad
Similar to Pythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk Session
(20)
PPTX
Python札幌201406
Shinya Okano
PPTX
Chainerで学ぶdeep learning
Retrieva inc.
PPSX
20150808 osc関西@京都
Takayuki Gondoh
PDF
Spring Boot + Doma + AngularJSで作るERP (LINE Fukuoka Meetup版)
学 松崎
PPTX
インドのインターネット環境との戦い方
Kenichi Tatsuhama
PDF
Digital OceanでPythonな環境を作ろう(途中成果) Python mini Hack-a-thon #43
Shinichi Nakagawa
PDF
俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014
taiju higashi
PPTX
ノンプログラミングで楽したい
裕之 木下
PDF
dots. 7/7 DSWBハンズオン資料
s. kaijima
PDF
アジャイルソフトウェア開発の道具箱
Koichi ITO
PDF
ソーシャルゲーム開発における運用とそのツール
Yoshiaki Sugimoto
PDF
クラウドコンピューティングでつくるビッグデータ解析のいまとこれから
Shohei Kobayashi
PDF
PythonによるWebスクレイピング入門
Hironori Sekine
PPTX
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Satoshi Nagayasu
PPTX
Type scriptmemo
ytanno
PPTX
データ分析基盤を支えるエンジニアリング
Recruit Lifestyle Co., Ltd.
PDF
スタートアップで培ったアーキテクチャ設計ノウハウ
Masakazu Matsushita
PDF
20150905 stream analytics
一希 大田
PDF
スクレイピングその後
Tomoki Hasegawa
PPTX
Talking about Microsoft On-premises Data Gateway
Shinya Sakakibara
Python札幌201406
Shinya Okano
Chainerで学ぶdeep learning
Retrieva inc.
20150808 osc関西@京都
Takayuki Gondoh
Spring Boot + Doma + AngularJSで作るERP (LINE Fukuoka Meetup版)
学 松崎
インドのインターネット環境との戦い方
Kenichi Tatsuhama
Digital OceanでPythonな環境を作ろう(途中成果) Python mini Hack-a-thon #43
Shinichi Nakagawa
俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014
taiju higashi
ノンプログラミングで楽したい
裕之 木下
dots. 7/7 DSWBハンズオン資料
s. kaijima
アジャイルソフトウェア開発の道具箱
Koichi ITO
ソーシャルゲーム開発における運用とそのツール
Yoshiaki Sugimoto
クラウドコンピューティングでつくるビッグデータ解析のいまとこれから
Shohei Kobayashi
PythonによるWebスクレイピング入門
Hironori Sekine
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Satoshi Nagayasu
Type scriptmemo
ytanno
データ分析基盤を支えるエンジニアリング
Recruit Lifestyle Co., Ltd.
スタートアップで培ったアーキテクチャ設計ノウハウ
Masakazu Matsushita
20150905 stream analytics
一希 大田
スクレイピングその後
Tomoki Hasegawa
Talking about Microsoft On-premises Data Gateway
Shinya Sakakibara
Ad
More from Shinichi Nakagawa
(15)
PDF
Baseball Play Study 2016冬〜Replacement!(ありがとう陽岱鋼!)
Shinichi Nakagawa
PDF
Py "Baseball" Data入門〜サービス(と野球)を支えるデータ分析基盤 #monotarotech
Shinichi Nakagawa
PDF
Py "Baseball" Data入門 - 広島東洋カープ編 #pyconhiro
Shinichi Nakagawa
PDF
XPな俺達に贈るPyCon JP 2016レポート #xpjug
Shinichi Nakagawa
PDF
たった数行のPythonコードで打者大谷翔平がどれだけ凄いのかを見てみる #ABPro
Shinichi Nakagawa
PDF
ビックデータとPythonではじめる野球の統計分析 #pyconjp
Shinichi Nakagawa
PDF
Big Data Baseball with Python - Ichiro Suzuki hacks! #kwsk01
Shinichi Nakagawa
PDF
ビックデータとPythonではじめる野球の統計分析(α)
Shinichi Nakagawa
PDF
Pythonistaデビュー #PyNyumon 2016/5/31
Shinichi Nakagawa
PDF
やきうデータLT「ホームラン」 #pyconjp
Shinichi Nakagawa
PDF
Agile Baseball Science - アジャイル脳によく効く野球のハナシ
Shinichi Nakagawa
PDF
Agile Baseball Science - はじめてのセイバーメトリクス
Shinichi Nakagawa
PDF
Pythonistaな私がChefからAnsibleに乗り換えた話(ひたすらゆるくプレゼンする会 2015/4/9)
Shinichi Nakagawa
PDF
はじめてのLean Canvas〜最初のアイディアを言語化してみよう #bpstudy
Shinichi Nakagawa
PDF
Python + Raspberry Piでスマートハウスを手作りする(計画) Python mini Hack-a-thon #49 成果発表 2014...
Shinichi Nakagawa
Baseball Play Study 2016冬〜Replacement!(ありがとう陽岱鋼!)
Shinichi Nakagawa
Py "Baseball" Data入門〜サービス(と野球)を支えるデータ分析基盤 #monotarotech
Shinichi Nakagawa
Py "Baseball" Data入門 - 広島東洋カープ編 #pyconhiro
Shinichi Nakagawa
XPな俺達に贈るPyCon JP 2016レポート #xpjug
Shinichi Nakagawa
たった数行のPythonコードで打者大谷翔平がどれだけ凄いのかを見てみる #ABPro
Shinichi Nakagawa
ビックデータとPythonではじめる野球の統計分析 #pyconjp
Shinichi Nakagawa
Big Data Baseball with Python - Ichiro Suzuki hacks! #kwsk01
Shinichi Nakagawa
ビックデータとPythonではじめる野球の統計分析(α)
Shinichi Nakagawa
Pythonistaデビュー #PyNyumon 2016/5/31
Shinichi Nakagawa
やきうデータLT「ホームラン」 #pyconjp
Shinichi Nakagawa
Agile Baseball Science - アジャイル脳によく効く野球のハナシ
Shinichi Nakagawa
Agile Baseball Science - はじめてのセイバーメトリクス
Shinichi Nakagawa
Pythonistaな私がChefからAnsibleに乗り換えた話(ひたすらゆるくプレゼンする会 2015/4/9)
Shinichi Nakagawa
はじめてのLean Canvas〜最初のアイディアを言語化してみよう #bpstudy
Shinichi Nakagawa
Python + Raspberry Piでスマートハウスを手作りする(計画) Python mini Hack-a-thon #49 成果発表 2014...
Shinichi Nakagawa
Pythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk Session
1.
Pythonではじめる野球プログラミング Python×オープンデータでセイバーメトリクスをはじめよう Shinichi
Nakagawa(リクルート住まいカンパニー)
2.
自己紹介 • 名前:Shinichi
Nakagawa(中川伸一) • 別名:野生の野球アナリスト • Twitter: @shinyorke • 所属:リクルート住まいカンパニー • 仕事:Engineer, Lean Startup/Agile Coach(仮)
3.
本日のスタメン • きっかけ
• データはどこにある? • 野球データベースをつくろう • Djangoでアプリをつくろう • セイバーメトリクスを可視化 • まとめ
4.
きっかけ 大好きなソーシャル野球ゲームで勝ちたいんや!!! !
→勝つためには優秀な選手・調子いい選手が必要 ! →オススメの選手を紹介するサービスを思いつく ! →まずは選手とチームの成績を可視化しよう!←今ここ
5.
ソーシャル野球ゲーム Yahoo Fantasy
Baseball http://baseball.fantasysports.yahoo.com/
6.
データはどこにある? Web上で公開されている主要な野球データ(MLBのみ) メディア形式使い勝手備考
MLB.com 公開データなし- ライセンス+αの理由で使え ない(察し) Baseball Reference Web Site (html) ☓ スクレイピング前提、ライ センス的に使えない Yahoo Social APIs REST △ アプリから使いやすいが、 (json or XML) 取得可能な情報が少ない Sean Lahman CSV,SQL他◯ CC3.0ライセンス、情報が 充実、コレなら使える!
7.
Sean Lahman Database
・1871~2013までのMLB選手・球団のデータ ・CSV/SQL/Microsoft Access Database ・Creative Commons 3.0 License http://www.seanlahman.com/baseball-archive/statistics/
8.
野球データベースをつくろう • Serverを立てる
• MySQLをインストール • Schemeをつくる • SchemeからModelを自動生成 • CSVデータを投入 sqlacodegen
9.
• Serverをコードで管理 •
DB Serverの構築に活用 • Virtual Box上にUbuntu 14.04 LTSのイメージを立て るコードを実装 • ついでにChef soloの起動も • vm.boxを変えればそのまま Production環境も作れる
10.
Chef solo •
ミドルウェアをコードで管理 • インフラ作業をrecipe化 • MySQLをインストール • Pythonをインストール • Scheme作成のシェル実行 • コードでインフラを書く喜び (^o^)
13.
sqlacodegen • DB
SchemeからSQLAlchemy のModelコードを自動生成 • pipでインストール可能 • MySQL/PostgreSQL/ SQLite3などに対応 • https://pypi.python.org/ pypi/sqlacodegen • 全テーブル(約20個!)の Modelが瞬殺で完成\(^o^)/
14.
出力結果 まあ楽ちん!
15.
• O/R Mapper
Python代表 • なんやかんやで使いやすい • Webアプリは勿論、他のプロ ダクトでも普通に使える • http://www.sqlalchemy.org/ • 選手および球団データを MySQLに投入するコードの中 で使用しました
16.
Djangoでアプリをつくろう • Python3.4
+ Django 1.7でアプリ構築 • MySQLの接続にハマる • Bootstrapで楽ちんデザイン • morris.jsで折れ線グラフを描く • HIGHCHARTSで散布図を描く PyMySQL morris.js HIGHCHARTS
17.
Django • Web
Applicationフレームワーク • 競合:Ruby On Railsなど • MTV(Model Template View)と呼ば れるアーキテクチャで実装されてい る • https://www.djangoproject.com/ • アプリ本体は全部Djangoで実装 • でも本当はFlaskの方が好み(小声)
18.
[Tips]MySQLとの付き合い方 • ConnectorはPyMySQLを
使いましょう • PyMySQL3だと動きません! • Django内で使う時は __init__.py内におまじないを かけましょう(写真) • ここが一番のハマりポイント でした…←丸一日潰しました
19.
Start Bootstrap •
http://startbootstrap.com/ • Bootstrapのtemplate集 • ランディングページ、Admin (管理)など、種類が抱負 • フリーと有料の両方アリ • 野球アプリのtemplateとして Adminのイメージを使用
20.
morris.js • Javascript製グラフ描画ライ
ブラリ • http://morrisjs.github.io/ morris.js/ • 非常にシンプルで楽 • レスポンシブデザインに対応 • 折れ線グラフ描画に使用
21.
HIGHCHARTS • Javascript製のビジュアライゼー
ションライブラリ • レスポンシブデザインに対応 • http://www.highcharts.com/ • 折れ線、棒、散布図etc…ほと んどのグラフがかける • morris.jsで描けない散布図を 描画
22.
セイバーメトリクスを可視化 • 選手のプロフィールを見やすく表示
• BABIP : プレーの運・不運を可視化 • ピタゴラス勝率 : 得点と失点からチーム勝率を予測
23.
デモその① 「プロフィールを表示」
25.
BABIP • 正式名「Batting
Average on Balls In Play」 • 本塁打を除くグラウンド内に飛んだ打球が安打になっ た割合を指標化したもの。別名「インプレー打率」 • .300前後が平均値。平均値を外れた場合は何らか の外的要因があると考える(運、守備の巧拙etc…) • 式:(安打-本塁打)÷(打数-三振-本塁打+犠飛)
26.
デモその② 「BABIPと打率を比較」
28.
ピタゴラス勝率 • “得点と失点が等しい時の勝率は5割である”という
仮説に基づき生み出された指標 • 総得点と総失点から予想勝率を算出 • 式:(総得点の二乗)÷(総得点の二乗+総失点の二乗) • ラグビー、サッカー等、他の球技でも使える
29.
デモその③ 「ピタゴラス勝率」
31.
学びとTips • Python
+ オープンデータでDIYな可視化とデータ 解析ができる! • 改めて知った「野球データの奥深さ」 • 【提案】好きなデータを好きな言語でHackすると 楽しいよ\(^o^)/ • ソースコードは後日Githubで公開しますので、真 似するなりforkしてやってみてください!
32.
walk-off home run!!!
ご清聴ありがとうございました!さようなら!!! Blog: http://shinyorke.hatenablog.com/
Download