Submit Search
Upload
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
•
75 likes
•
103,248 views
Shinichi Nakagawa
Follow
PyCon JP 2015 Talk Session発表資料
Read less
Read more
Software
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 66
Download now
Download to read offline
Recommended
こんなゴールデン・グラブ賞は嫌だ~2015 #bpstudy 100回目記念LT
こんなゴールデン・グラブ賞は嫌だ~2015 #bpstudy 100回目記念LT
Shinichi Nakagawa
Python Professional Baseball Programming Open Data Edition #bpstudy 91(2015/3...
Python Professional Baseball Programming Open Data Edition #bpstudy 91(2015/3...
Shinichi Nakagawa
アジャイルサムライ~Pythonista道場 #PyLadiesTokyo 1周年記念パーティー 2015/10/24
アジャイルサムライ~Pythonista道場 #PyLadiesTokyo 1周年記念パーティー 2015/10/24
Shinichi Nakagawa
野球データを可視化してみた ニコニコ学会
野球データを可視化してみた ニコニコ学会
Shinichi Nakagawa
2014年NPBたらいまわされ十傑
2014年NPBたらいまわされ十傑
Taichi Watanabe
データ分析に使える野球データまとめ #PyDataTokyo meetup 2015/10/23
データ分析に使える野球データまとめ #PyDataTokyo meetup 2015/10/23
Shinichi Nakagawa
Agile Baseball Science - アジャイル脳によく効く野球のハナシ
Agile Baseball Science - アジャイル脳によく効く野球のハナシ
Shinichi Nakagawa
野球Hack!(続き)~Pythonを用いた野球サービス構築 #bpstudy
野球Hack!(続き)~Pythonを用いた野球サービス構築 #bpstudy
Shinichi Nakagawa
Recommended
こんなゴールデン・グラブ賞は嫌だ~2015 #bpstudy 100回目記念LT
こんなゴールデン・グラブ賞は嫌だ~2015 #bpstudy 100回目記念LT
Shinichi Nakagawa
Python Professional Baseball Programming Open Data Edition #bpstudy 91(2015/3...
Python Professional Baseball Programming Open Data Edition #bpstudy 91(2015/3...
Shinichi Nakagawa
アジャイルサムライ~Pythonista道場 #PyLadiesTokyo 1周年記念パーティー 2015/10/24
アジャイルサムライ~Pythonista道場 #PyLadiesTokyo 1周年記念パーティー 2015/10/24
Shinichi Nakagawa
野球データを可視化してみた ニコニコ学会
野球データを可視化してみた ニコニコ学会
Shinichi Nakagawa
2014年NPBたらいまわされ十傑
2014年NPBたらいまわされ十傑
Taichi Watanabe
データ分析に使える野球データまとめ #PyDataTokyo meetup 2015/10/23
データ分析に使える野球データまとめ #PyDataTokyo meetup 2015/10/23
Shinichi Nakagawa
Agile Baseball Science - アジャイル脳によく効く野球のハナシ
Agile Baseball Science - アジャイル脳によく効く野球のハナシ
Shinichi Nakagawa
野球Hack!(続き)~Pythonを用いた野球サービス構築 #bpstudy
野球Hack!(続き)~Pythonを用いた野球サービス構築 #bpstudy
Shinichi Nakagawa
Pythonではじめる野球プログラミング(続き)PyCon JP 2014 LT
Pythonではじめる野球プログラミング(続き)PyCon JP 2014 LT
Shinichi Nakagawa
Rでセイバーメトリクス (イチローと松井 どっちが凄い?)
Rでセイバーメトリクス (イチローと松井 どっちが凄い?)
Takuma Hatano
Pythonistaな私がChefからAnsibleに乗り換えた話(ひたすらゆるくプレゼンする会 2015/4/9)
Pythonistaな私がChefからAnsibleに乗り換えた話(ひたすらゆるくプレゼンする会 2015/4/9)
Shinichi Nakagawa
Three Out Change !!〜アウトについて語ろう BPstudy #79 2014/3/26
Three Out Change !!〜アウトについて語ろう BPstudy #79 2014/3/26
Shinichi Nakagawa
Railsではじめる野球プログラミング
Railsではじめる野球プログラミング
Shinichi Nakagawa
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27
Shinichi Nakagawa
Rで野球のデータ解析がしたい (データが欲しい)
Rで野球のデータ解析がしたい (データが欲しい)
Takuma Hatano
Rで野球データ解析がしたい ( pitchRxを使う )
Rで野球データ解析がしたい ( pitchRxを使う )
Takuma Hatano
Pythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk Session
Pythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk Session
Shinichi Nakagawa
I was bone to love Design
I was bone to love Design
Kanako Fukiage
CV分野におけるサーベイ方法
CV分野におけるサーベイ方法
Hirokatsu Kataoka
はじめてのオリジナルテーマ制作
はじめてのオリジナルテーマ制作
Seiichiro Mishiba
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
Hisao Soyama
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
Takanori Suzuki
python-twitterを用いたTwitterデータ収集
python-twitterを用いたTwitterデータ収集
Hikaru Takemura
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
Katsuhiro Morishita
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門
Hironori Sekine
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編
Etsuji Nakai
Python東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしよう
Hiroshi Funai
RとPythonによるデータ解析入門
RとPythonによるデータ解析入門
Atsushi Hayakawa
Pythonで簡単ネットワーク分析
Pythonで簡単ネットワーク分析
antibayesian 俺がS式だ
Scikit learnで学ぶ機械学習入門
Scikit learnで学ぶ機械学習入門
Takami Sato
More Related Content
What's hot
Pythonではじめる野球プログラミング(続き)PyCon JP 2014 LT
Pythonではじめる野球プログラミング(続き)PyCon JP 2014 LT
Shinichi Nakagawa
Rでセイバーメトリクス (イチローと松井 どっちが凄い?)
Rでセイバーメトリクス (イチローと松井 どっちが凄い?)
Takuma Hatano
Pythonistaな私がChefからAnsibleに乗り換えた話(ひたすらゆるくプレゼンする会 2015/4/9)
Pythonistaな私がChefからAnsibleに乗り換えた話(ひたすらゆるくプレゼンする会 2015/4/9)
Shinichi Nakagawa
Three Out Change !!〜アウトについて語ろう BPstudy #79 2014/3/26
Three Out Change !!〜アウトについて語ろう BPstudy #79 2014/3/26
Shinichi Nakagawa
Railsではじめる野球プログラミング
Railsではじめる野球プログラミング
Shinichi Nakagawa
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27
Shinichi Nakagawa
Rで野球のデータ解析がしたい (データが欲しい)
Rで野球のデータ解析がしたい (データが欲しい)
Takuma Hatano
Rで野球データ解析がしたい ( pitchRxを使う )
Rで野球データ解析がしたい ( pitchRxを使う )
Takuma Hatano
Pythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk Session
Pythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk Session
Shinichi Nakagawa
I was bone to love Design
I was bone to love Design
Kanako Fukiage
CV分野におけるサーベイ方法
CV分野におけるサーベイ方法
Hirokatsu Kataoka
はじめてのオリジナルテーマ制作
はじめてのオリジナルテーマ制作
Seiichiro Mishiba
What's hot
(12)
Pythonではじめる野球プログラミング(続き)PyCon JP 2014 LT
Pythonではじめる野球プログラミング(続き)PyCon JP 2014 LT
Rでセイバーメトリクス (イチローと松井 どっちが凄い?)
Rでセイバーメトリクス (イチローと松井 どっちが凄い?)
Pythonistaな私がChefからAnsibleに乗り換えた話(ひたすらゆるくプレゼンする会 2015/4/9)
Pythonistaな私がChefからAnsibleに乗り換えた話(ひたすらゆるくプレゼンする会 2015/4/9)
Three Out Change !!〜アウトについて語ろう BPstudy #79 2014/3/26
Three Out Change !!〜アウトについて語ろう BPstudy #79 2014/3/26
Railsではじめる野球プログラミング
Railsではじめる野球プログラミング
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27
Rで野球のデータ解析がしたい (データが欲しい)
Rで野球のデータ解析がしたい (データが欲しい)
Rで野球データ解析がしたい ( pitchRxを使う )
Rで野球データ解析がしたい ( pitchRxを使う )
Pythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk Session
Pythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk Session
I was bone to love Design
I was bone to love Design
CV分野におけるサーベイ方法
CV分野におけるサーベイ方法
はじめてのオリジナルテーマ制作
はじめてのオリジナルテーマ制作
Viewers also liked
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
Hisao Soyama
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
Takanori Suzuki
python-twitterを用いたTwitterデータ収集
python-twitterを用いたTwitterデータ収集
Hikaru Takemura
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
Katsuhiro Morishita
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門
Hironori Sekine
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編
Etsuji Nakai
Python東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしよう
Hiroshi Funai
RとPythonによるデータ解析入門
RとPythonによるデータ解析入門
Atsushi Hayakawa
Pythonで簡単ネットワーク分析
Pythonで簡単ネットワーク分析
antibayesian 俺がS式だ
Scikit learnで学ぶ機械学習入門
Scikit learnで学ぶ機械学習入門
Takami Sato
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル
敦志 金谷
Gensim
Gensim
saireya _
Python入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニング
Yuichi Ito
タイムラインでポジろう!
タイムラインでポジろう!
Yokohama Yuushou
数字から読む好不調の波
数字から読む好不調の波
Jun Sasaki
価値を見せる技術 #DevLOVE ベースボールからみる技術
価値を見せる技術 #DevLOVE ベースボールからみる技術
Shinichi Nakagawa
Djangoエンジニアの観点から見たHue
Djangoエンジニアの観点から見たHue
Shinya Okano
Pythonで動かして学ぶ機械学習入門_予測モデルを作ってみよう
Pythonで動かして学ぶ機械学習入門_予測モデルを作ってみよう
洋資 堅田
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門
Tatsuya Tojima
Rubyによるデータ解析
Rubyによるデータ解析
Shugo Maeda
Viewers also liked
(20)
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
python-twitterを用いたTwitterデータ収集
python-twitterを用いたTwitterデータ収集
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編
Python東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしよう
RとPythonによるデータ解析入門
RとPythonによるデータ解析入門
Pythonで簡単ネットワーク分析
Pythonで簡単ネットワーク分析
Scikit learnで学ぶ機械学習入門
Scikit learnで学ぶ機械学習入門
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル
Gensim
Gensim
Python入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニング
タイムラインでポジろう!
タイムラインでポジろう!
数字から読む好不調の波
数字から読む好不調の波
価値を見せる技術 #DevLOVE ベースボールからみる技術
価値を見せる技術 #DevLOVE ベースボールからみる技術
Djangoエンジニアの観点から見たHue
Djangoエンジニアの観点から見たHue
Pythonで動かして学ぶ機械学習入門_予測モデルを作ってみよう
Pythonで動かして学ぶ機械学習入門_予測モデルを作ってみよう
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門
Rubyによるデータ解析
Rubyによるデータ解析
More from Shinichi Nakagawa
User Happyをささえるアジャイルのココロとスクラムのキホン
User Happyをささえるアジャイルのココロとスクラムのキホン
Shinichi Nakagawa
Baseball Play Study 2016冬〜Replacement!(ありがとう陽岱鋼!)
Baseball Play Study 2016冬〜Replacement!(ありがとう陽岱鋼!)
Shinichi Nakagawa
Py "Baseball" Data入門〜サービス(と野球)を支えるデータ分析基盤 #monotarotech
Py "Baseball" Data入門〜サービス(と野球)を支えるデータ分析基盤 #monotarotech
Shinichi Nakagawa
Py "Baseball" Data入門 - 広島東洋カープ編 #pyconhiro
Py "Baseball" Data入門 - 広島東洋カープ編 #pyconhiro
Shinichi Nakagawa
XPな俺達に贈るPyCon JP 2016レポート #xpjug
XPな俺達に贈るPyCon JP 2016レポート #xpjug
Shinichi Nakagawa
たった数行のPythonコードで打者大谷翔平がどれだけ凄いのかを見てみる #ABPro
たった数行のPythonコードで打者大谷翔平がどれだけ凄いのかを見てみる #ABPro
Shinichi Nakagawa
ビックデータとPythonではじめる野球の統計分析 #pyconjp
ビックデータとPythonではじめる野球の統計分析 #pyconjp
Shinichi Nakagawa
Big Data Baseball with Python - Ichiro Suzuki hacks! #kwsk01
Big Data Baseball with Python - Ichiro Suzuki hacks! #kwsk01
Shinichi Nakagawa
ビックデータとPythonではじめる野球の統計分析(α)
ビックデータとPythonではじめる野球の統計分析(α)
Shinichi Nakagawa
Pythonistaデビュー #PyNyumon 2016/5/31
Pythonistaデビュー #PyNyumon 2016/5/31
Shinichi Nakagawa
A Tour of やきう&Go - やきう民の私とGoの半年(実質3日間)
A Tour of やきう&Go - やきう民の私とGoの半年(実質3日間)
Shinichi Nakagawa
やきうデータLT「ホームラン」 #pyconjp
やきうデータLT「ホームラン」 #pyconjp
Shinichi Nakagawa
野球Hack!~Pythonを用いたデータ分析と可視化 #kwskrb #28 2015/9/30
野球Hack!~Pythonを用いたデータ分析と可視化 #kwskrb #28 2015/9/30
Shinichi Nakagawa
【Inception-Deck】野球Hack! - Pythonを用いたデータ分析と可視化
【Inception-Deck】野球Hack! - Pythonを用いたデータ分析と可視化
Shinichi Nakagawa
Agile Baseball Science - はじめてのセイバーメトリクス
Agile Baseball Science - はじめてのセイバーメトリクス
Shinichi Nakagawa
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
Shinichi Nakagawa
はじめてのLean Canvas〜最初のアイディアを言語化してみよう #bpstudy
はじめてのLean Canvas〜最初のアイディアを言語化してみよう #bpstudy
Shinichi Nakagawa
Python野球クラスタの紹介
Python野球クラスタの紹介
Shinichi Nakagawa
Python + Raspberry Piでスマートハウスを手作りする(計画) Python mini Hack-a-thon #49 成果発表 2014...
Python + Raspberry Piでスマートハウスを手作りする(計画) Python mini Hack-a-thon #49 成果発表 2014...
Shinichi Nakagawa
More from Shinichi Nakagawa
(19)
User Happyをささえるアジャイルのココロとスクラムのキホン
User Happyをささえるアジャイルのココロとスクラムのキホン
Baseball Play Study 2016冬〜Replacement!(ありがとう陽岱鋼!)
Baseball Play Study 2016冬〜Replacement!(ありがとう陽岱鋼!)
Py "Baseball" Data入門〜サービス(と野球)を支えるデータ分析基盤 #monotarotech
Py "Baseball" Data入門〜サービス(と野球)を支えるデータ分析基盤 #monotarotech
Py "Baseball" Data入門 - 広島東洋カープ編 #pyconhiro
Py "Baseball" Data入門 - 広島東洋カープ編 #pyconhiro
XPな俺達に贈るPyCon JP 2016レポート #xpjug
XPな俺達に贈るPyCon JP 2016レポート #xpjug
たった数行のPythonコードで打者大谷翔平がどれだけ凄いのかを見てみる #ABPro
たった数行のPythonコードで打者大谷翔平がどれだけ凄いのかを見てみる #ABPro
ビックデータとPythonではじめる野球の統計分析 #pyconjp
ビックデータとPythonではじめる野球の統計分析 #pyconjp
Big Data Baseball with Python - Ichiro Suzuki hacks! #kwsk01
Big Data Baseball with Python - Ichiro Suzuki hacks! #kwsk01
ビックデータとPythonではじめる野球の統計分析(α)
ビックデータとPythonではじめる野球の統計分析(α)
Pythonistaデビュー #PyNyumon 2016/5/31
Pythonistaデビュー #PyNyumon 2016/5/31
A Tour of やきう&Go - やきう民の私とGoの半年(実質3日間)
A Tour of やきう&Go - やきう民の私とGoの半年(実質3日間)
やきうデータLT「ホームラン」 #pyconjp
やきうデータLT「ホームラン」 #pyconjp
野球Hack!~Pythonを用いたデータ分析と可視化 #kwskrb #28 2015/9/30
野球Hack!~Pythonを用いたデータ分析と可視化 #kwskrb #28 2015/9/30
【Inception-Deck】野球Hack! - Pythonを用いたデータ分析と可視化
【Inception-Deck】野球Hack! - Pythonを用いたデータ分析と可視化
Agile Baseball Science - はじめてのセイバーメトリクス
Agile Baseball Science - はじめてのセイバーメトリクス
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
はじめてのLean Canvas〜最初のアイディアを言語化してみよう #bpstudy
はじめてのLean Canvas〜最初のアイディアを言語化してみよう #bpstudy
Python野球クラスタの紹介
Python野球クラスタの紹介
Python + Raspberry Piでスマートハウスを手作りする(計画) Python mini Hack-a-thon #49 成果発表 2014...
Python + Raspberry Piでスマートハウスを手作りする(計画) Python mini Hack-a-thon #49 成果発表 2014...
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
1.
野球Hack!~Pythonを用いたデータ分析と可視化 - The Art
Of Programming A Baseball Game! - Shinichi Nakagawa@shinyorke PyCon JP 2015 Talk Session(2015/10/11)
2.
Who am I
? • Shinichi Nakagawa(@shinyorke) • Recruit Sumai Company, Ltd. • Pythonista/Agile/Baseball Scientist • 贔屓チーム • 北海道日本ハムファイターズ(NPB) • オークランド・アスレチックス(MLB) • “野生の野球アナリスト”活動
3.
“野生の野球アナリスト” 活動
4.
• PyCon JP
2014 Talk Session(去年のやつ) • MLBオープンデータ分析&可視化サービスをPythonで構築 • はてブ200超え、PV 14,000以上(slideshare)
5.
• PyCon JP
2014 Lightning Talk(去年のやつ) • Agileプロセス活用、アダム・ダン率の紹介 • アダム・ダンさん、Python界隈で有名になる
6.
Other… • ブログで野球Hackの成果および考察を披露(不定期) • MLBオープンデータの紹介と活用例紹介 •
野球データの分析&解析用のライブラリを Githubで公開(ほぼPython製) • データドリブン野球解説 ※後ほど解説
7.
最終目標(40歳までに) • エンジニア×ビジネスマンとして、 日本プロ野球orMLBの仕事をやる! ※NPB12球団+MLB30球団のオファー待ってます • 野球データとエンジニアの知見を活かし、 2020年東京五輪でメダル獲得のサポート ※エンジニアとして(選手にはならないw)
8.
Today’s Starting Member •
Pythonと野球 • MLBオープンデータ活用とPython • Pythonで「俺々野球分析基盤」 • まとめ - これからの野球Hack
9.
Pythonと野球
10.
なぜ野球×Pythonなのか? • 野球データと野球Hack • Pythonと野球Hack
11.
野球データ(嬉) • ボックス・スコアによる正規化済みのデータが存在 • 打撃・投球・試合の成績がボックス・スコアで読みやすい・書きや すいフォーマットでまとまっている •
使えるデータが存在 • メジャーリーグはオープンなライセンスで使えるデータが存在 (利用制限ほぼなし) • 日本プロ野球はデータをぶっこ抜く自動的に取得する仕組みを自作 することにより入手可能(当然、利用は制限される)
12.
ボックス・スコア ※Sportsnaviより
13.
野球データ(辛) • データの解釈 • ボックス・スコア自体は読みやすいが、解釈そのものはルールや規約を 正確に読む必要がある 例)振り逃げはどう記録される? インフィールドフライの条件とは? •
ボックス・スコアには乗らないデータの存在 • 投手の球速、変化球の種類、打球の速度や着地点etc… ボックス・スコアに乗らないデータが存在 &独自のフォーマットでの記載が多く読み書きが難しい
14.
野球Hackの掟 • スクラップアンドビルド • データを読む→仮説を立てる→コードを書く→可視化する→検証→ またデータを読む …の繰り返し、コードを書いては壊すを繰り返す作業が大半 •
データの読み書きとルールの勉強 • 野球の記録の読み方、記録がつく理由を把握する為にルールを勉強 →ルールを正確に把握するため、公認野球規則&審判の知識が必要 ※実際本を買って勉強してます(実話)
15.
Pythonと野球Hack • インフラ管理・構成 Ansibleおよびdocker compose(というよりDocker)を活用、 すぐ作れる&壊せるインフラで思う存分スクラップアンドビルドを! •
バージョン&パッケージ管理 pyenv + virtualenvでバージョン&パッケージ管理をプロジェクト単位で切り替え. →特定のPythonバージョン&パッケージに依存しない作り. • データ分析・可視化 IPython notebook + pandas + matplotlibでカジュアルに分析&可視化. 面倒くさいQUERYなどはSQLAlchemyなどで型化. • Webアプリ構築 サクッと作る目的でFlask/bottle、しっかり作る目的でDjangoを使う.
16.
なんでや!Pythonじゃなくてもできるやろ!! ※ボールの判定に不服なバルフォアさん、ではありません 元画像:http://www.sbs.com.au/
17.
はい、Pythonじゃなくできます • インフラ管理・構成 部分的にVagrantを使用、ちなみにChefはやめた. • バージョン&パッケージ管理 Rubyのrenv/rbenv-gemsetなど、他の言語にも当然ながら存在. •
データ分析・可視化 得意な人はR・Juliaでいいと思う、野球HackをRでやってる方もいます. (他の言語は、、、どうなんだろう?) • Webアプリ構築 APIやバッチならGolang, サイトならRuby On Rails他選択肢がたくさん有り 目的(と好み)に合わせて手段を柔軟に変えましょう
18.
好きな言語でHackしようぜ! ※キャプテン・ジーター、本当にお疲れ様でした 元画像:http://www.playbuzz.com/
19.
MLBオープンデータとPython
20.
元ネタ(過去ブログより) http://shinyorke.hatenablog.com/entry/ 2015/04/06/190243
21.
やりたかったこと • 野球ゲーム「Fantasy Baseball」に勝つため、 選手の詳細な情報(主に成績)が必要に •
MLBのオープンデータ「Retrosheet」に それらが詰められてるらしい ワイ「データベースつくればいいじゃん!」
22.
Retrosheet is 何? •
メジャーリーグのスコアデータ集 • 1887~2014(昨シーズン)までのデータをCSVで配布 ※1989以前は欠損有り • スコアブックで得られる情報(得点、失点、スタメン、打席 結果etc…)と選手情報(名前、ポジションなど)がひと目 でわかる • http://retrosheet.org/
23.
やったこと • Vagrant +
AnsibleでMySQL Server構築 • SQLAlchemy + py-retrosheetでmigration • Jupyter(IPython notebook)とpandasで分析 • matplotlibで可視化
24.
構成 Simple is Best?
25.
構成 Simple is Best!!! →構成を型化してイケてる感じに
26.
サーバー構築とmigration $ vagrant up $
ansible-playbook -i hosts retrosheet_server.yml この2行でサーバーを作れるようにしました! ※VagrantとAnsibleを導入している前提です
27.
PY-RETROSHEET - やきうScript •
Retrosheet専用Download&migration script git@github.com:wellsoliver/py-retrosheet.git • データ取得からDB(MySQLなど)へのmigrationを一気通貫に行える神ライブラリ
28.
IPython notebook+pandas • 平たく言えば、「ブラウザ上で使えるPythonその他のSandbox環境」 •
データやLibraryが不確実( 使いこなせていない)時の試し打ちとして最高すぎる環境 • pandasで前処理、matplotlibでお絵かき(グラフ描画など)
29.
分析と可視化 • レスターは何月に一番勝っているのか? • ボットのマルチ四球(=1試合2四球)の回数 Jon
Lester Joey Votto
30.
Jon Lester(ジョン・レスター) • メジャー屈指の先発左腕、優勝請負人 ※世界一経験二回 •
プレーオフ(10/9)に先発、なお負け投手 • レッドソックス(2006-2014)→アスレチックス(2014)→カブス(2015)
31.
レスターさんの月別勝利数 • 調子いい時は4,5月で稼いでいる、8,9月も良さげだがそんなに極端ではない • 残りの月はなんか微妙だけど傾向がアレ ちなみに7月はオールスターの為登板が少ない(レスターにかぎらず)
32.
Joey Votto(ジョーイ・ボット) • レッズ一筋(2007-2015)、強打の一塁手 •
選球眼が良すぎて散歩(四球)が多い、通算アダム・ダン率は38% • 内野フライが異常に少ない。とある統計によると、2009-2012の4年間で3本(ファ!?)
33.
塁間さんぽ(イッチVSボット) • 月別の四球数、凡例の数字はシーズン通算 • 圧倒的にボットさんが散歩好き、特に8,9月やばい •
神イチローはとにかく打って走るスタイル、春先はまあまあ歩いてる イチロー ボット
34.
マルチさんぽ(イッチVSボット) • 1試合で2個以上四球を選んだ試合を月別にカウント • ボットさんの回数がやばい •
神イチローはある意味予想通り、流石天才バッター イチロー ボット
35.
コードは後日公開!!!
36.
Pythonで 「俺々野球分析基盤」 を作ったハナシ
37.
キッカケはコチラ
38.
http://www.slideshare.net/shinyorke/agile-baseball-science-52692504
39.
やりたかったこと • 日本プロ野球データを元に野球統計学の話を するネタを思いつく • だがしかし、MLBのようにオープン化された データなんぞない •
そうだ、データをぶっこ抜く自動的に取得し て計算してレポート出せばいいじゃん!
40.
どうやって解決したか • スポーツのデータサイト(Y⃝hoo等)から、 順位表と選手成績を取得 • 取得したデータを元にセイバーメトリクス指標 を算出 •
一日に一回、取得&算出を行い、Excelシートに 計算結果出力&AWS S3に転送
41.
構成(development)
42.
構成(Provisioning)
43.
• ぶっちゃけ当初の要件でDockerは不要だった • しかし、将来的に「俺々野球基盤」としてService を立ち上げる構想があり、今のうちに試せること はためそう!と思いDockerを本番投入 •
docker compose(旧名fig)でアプリとDBを 一気通貫にService立ちあげする下地を作った
44.
crontab(parse-crontab) • DockerのPython container(Debian)、 デフォルトでcrontabが使えない事が判明 •
いちいち設定するのもアレだ…と思った矢先に、 いい感じのライブラリーを発見!!! parse-crontab: https://github.com/josiahcarlson/parse-crontab example : http://gaujin.jp/index.php?itemid=27 ※ @gaujin_jp さんありがとうございます! • ピュアなPython環境でcrontab環境実現&自動実行が可能に!!!
45.
分析と可視化 • アダム・ダン率 三振・四球・ホームランでアダム・ダンらしさ を評価 • 被アダム・ダン率 アダム・ダンな打者を量産する可能性がある 投手を見つける
46.
Wikipedia「三振」 ※1年ぶり2回目の登場 https://ja.wikipedia.org/wiki/三振 アダム・ダン
47.
アダム・ダン率 = (ダンらしさ)
/ 打数 * 100 ※ダンらしさ = 本塁打 + 四球+ 三振
48.
アダム・ダン率ランキング(P) 順位 選手名 (チーム) ダン 率 HR 四球 三振
コメント 1 中村剛也(西) 46.2 37 68 172 三振王かつ本塁打王 2 メヒア(西) 42.9 27 45 153 去年の本塁打王 3 ペーニャ(楽) 40.2 17 70 111 典型的な地蔵タイプ 4 森友哉(西) 38.4 17 44 143 お若いのに三振多すぎぃ 5 松田宣浩(ソ) 38.1 35 60 135 テラス席の申し子 ※2015シーズン終了時
49.
アダム・ダン率ランキング(C) 順位 選手名 (チーム) ダン 率 HR 四球 三振
コメント 1 丸佳浩(広) 40.4 19 94 143 三振と四球で二冠達成 2 ゴメス(神) 37.1 17 72 134 キャラ通りの成績 3 山田哲人(ヤ) 35.6 38 81 111 思ったより三振多い 4 梶谷隆幸(D) 34.4 13 54 132 役割的に三振の数は深刻 5 筒香嘉智(D) 33.5 24 68 98 まあまあ合格点 ※2015シーズン終了時
50.
被アダム・ダン率 = (ダンらしさ)
/ 打者数 * 100 ※ダンらしさ = 被本塁打 + 与四死球 + 三振
51.
被アダム・ダン率ランキング(P) 順位 選手名 (チーム) ダン 率 HR 四球 三振
コメント 1 大谷翔平(日) 40.6 7 46 196 本格派すぎる 2 則本昂大(楽) 35.3 14 48 215 奪三振王&やや飛翔 3 武田翔太(ソ) 34.8 14 59 163 やや飛翔癖あり 4 中田賢一(ソ) 33 17 61 130 飛翔しすぎぃ 5 西勇輝(オ) 31 11 43 143 本格派になりつつある ※2015シーズン終了時
52.
被アダム・ダン率ランキング(C) 順位 選手名 (チーム) ダン 率 HR 四球 三振
コメント 1 藤浪晋太郎(神) 38.5 9 82 221 三振と四球で二冠達成 2 メッセンジャー(神) 33.5 10 60 194 三振&四球2位 3 高木勇人(巨) 29.8 16 47 131 ルーキー 4 ジョンソン(広) 29 5 67 150 同僚の黒田は21.9ダン 5 小川泰弘(ヤ) 28.3 18 48 128 成瀬の代わりに飛翔 ※2015シーズン終了時
53.
コードは後日公開…
54.
しません!!! (察してください…w)
55.
まとめ シモンズの守備ってまとめに相応しいよね 元画像: http://a.espncdn.com/photo/2013/1028/mlb_nl-gloves_06.jpg
56.
Python + Baseball •
「野球Hackで迷ったらPython!」 • データ分析&検証、プロトタイプ作りといった、 「不確定要素が多いproject」でのPythonは強い →スタートアップとか(野球関係ないけど…w) • とはいえ向き・不向きや好みもあるので他の言語 やFWもいい感じに柔軟に使うといいでしょう
57.
好きな言語でHackしようぜ! ※大切なので二回いいました 元画像:http://www.playbuzz.com/
58.
Possibilities of Python
59.
これからの野球Hack • 個人として • みんなで(コミュニティ的な意味で) •
大切にしたいこと
60.
これからの野球Hack(願望) • 「データドリブン野球解説」を通じて新しい野球とスポーツの可能性を説いて生きたい!! →やきうをオープンな情報基盤に! • 東京五輪に向けて、新しい野球・スポーツの楽しみ方を模索&リードしていきたい!!!
61.
みんなで野球Hack!!! • 本日の発表などを通じ、 「面白い!」 「俺も(私も)やりたい!!」 と思った方!是非一緒にやりましょう!!! • 明日(10/12)のPyCon
JP 2015 Sprintsで 一緒に野球をHackしましょう!!!
62.
大切にしたいこと
63.
ビル・ジェームズ -野球統計学「セイバーメトリクス」の生みの親- 元画像: http://sportsworld.nbcsports.com/bill-james-statistical-revolution/
64.
“”” わたしの関心事は、野球だけ。 いったいなぜだろう? それは,ほかの分野の数字と 違って,野球のデータには 言葉と同じ力があるからだ。 “”” - 書籍「マネー・ボール」第四章より
65.
Possibilities of 野球Hack!
66.
ゲームセット!!! ご清聴ありがとうございました. Shinichi Nakagawa(Twitter/Facebook/hatena:@shinyorke)
Download now