Pyladies Tokyo meet up #6

47
PyData 基基基基 基基基基基基基基基基基基基基基基基基基基基基基基基基 基基基基基 基基基 PyLadies Tokyo meetup #6 Python + Data = PyData ! PyLadies Tokyo 基基基基2015 基 6 基 20 基 基基 ()

Transcript of Pyladies Tokyo meet up #6

Page 1: Pyladies Tokyo meet up #6

PyData 基本のキ+

解析をするにあたって覚えておくと役立ついくつかのこと

かたやなぎ のぶこ

PyLadies Tokyo meetup #6Python + Data = PyData ! PyLadies Tokyo データ祭!

2015 年 6 月 20 日(土)

Page 2: Pyladies Tokyo meet up #6

自己紹介

@nobolis@nobolispy

かたやなぎ のぶこ

農水省系研究機関研究員(ポスドク)

Page 3: Pyladies Tokyo meet up #6

研究テーマ生態系の物質循環を予測するモデルを用いた

土壌由来温室効果ガスの定量

土壌表面からのガスを測定 モデルを使って排出量推定3

大学院生時代 現在

Page 4: Pyladies Tokyo meet up #6

今日の話題に入る前に質問です。

Page 5: Pyladies Tokyo meet up #6

プログラミング初心者?

Page 6: Pyladies Tokyo meet up #6

データ解析はあまりしたことがない?

Page 7: Pyladies Tokyo meet up #6

今日の話題

1. PyData についての基本的な話自分が始めたときにこまったこと

2. 解析をするにあたって覚えておくと役立つこと

Page 8: Pyladies Tokyo meet up #6

1. PyData についての基本的な話

Page 9: Pyladies Tokyo meet up #6

PyData =   Python + Data

私の用途:1. データ処理–ファイルの分割、欠測値補完、値抽出、 etc.

2. 数値計算–統計解析、分析、 etc.

Page 10: Pyladies Tokyo meet up #6

PyData の基本ツール

Python 2.x 系 /3.x 系 お好きな方を。

1. NumPy  多次元配列が扱える。

2. Pandas   DataFrame が便利。データベースっぽい使い方ができる。

3. matplotlib データの可視化。グラフ描きツール。

4. IPython ・ Ipython notebook ・ Jupiter対話型シェルと ブラウザでの操作ツール

5. Sympy 記号計算。方程式を解いたりできる。

6. Scikit-Learn 機械学習

7. SciPy   Numpy より高度な科学計算(特殊関数、積分、統計、 etc. )

Page 11: Pyladies Tokyo meet up #6

PyLadies Tokyo #3

Python for Beginners

Page 12: Pyladies Tokyo meet up #6

プログラミング初心者・ Python 初心者だった私が Python でデータ解析を始めようと思ったときに困ったこと

Page 13: Pyladies Tokyo meet up #6

データ解析ツールがいろいろあることはわかったけど、どうやったら使えるんだろう???

Page 14: Pyladies Tokyo meet up #6

パッケージを入手して import

Page 15: Pyladies Tokyo meet up #6

ipython notebook demoImport 宣言

https://github.com/nobolis/PyLadiesTokyo_6_demo/blob/master/PyLadies6_demo_v1.ipynb

Page 16: Pyladies Tokyo meet up #6

パッケージとライブラリ• パッケージ– サードパーティ製パッケージ

• Numpy, Scipy, etc.

– Python とは別に入手が必要

• ライブラリ– Python 標準ライブラリ

– Python にもとから同梱されているライブラリ

• 使うときはいずれも import 宣言して利用– 組み込み関数・定数・型を除く

参考 : Python エンジニア養成読本

Page 17: Pyladies Tokyo meet up #6

パッケージの入手(インストール)

Mac ・ Linuxpip install numpypip install scipypip install pandaspip install scikit-learnpip install matplotlibpip install ipython# ipython notebook に必要な異存ライブラリpip install pyzmqpip install jinja2pip install tornado

Page 18: Pyladies Tokyo meet up #6

パッケージの入手(インストール)

Windowspip でインストールしようとするとエラーが出る

パッケージあり

非公式ビルド版 / ディストリビューションがおすす

非公式ビルド版Unofficial Windows Binaries for Python Extension Packages

ディストリビューションAnaconda, Enthought Canopy, Python(x, y), WnPython, Pyzoどうしたらいい?

Page 19: Pyladies Tokyo meet up #6

2. 解析をするにあたって覚えておくと役立つこと

Page 20: Pyladies Tokyo meet up #6

解析をするにあたって覚えておくと役に立つかもしれない 5 つのこと

1. データには背景がある。

2. データの俯瞰が大切。

3. 統計値は必ずしも正しくない。

4. 数式はこわくない。

5. 解析は楽しい。

Page 21: Pyladies Tokyo meet up #6

2.1 データには背景がある。2. 解析にあたって覚えておくと役立つこと

Page 22: Pyladies Tokyo meet up #6

大学院生時代 現在

データを集める人 集められたデータを解析する人

土壌表面からのガスを測定 モデルを使って排出量推定

Page 23: Pyladies Tokyo meet up #6

データを集める仕事と集められたデータを解析することの利点

• データがどうやってとられたのかを知っている

ため、

データの確からしさについての勘が働く

–はずれ値は

• ほんとうに現象としてあった?

• 計算時のミス?

• 分析時のミス?

• 観測の作業ミス?

Page 24: Pyladies Tokyo meet up #6

覚えておくと役立つこと 1

データには背景がある。

• 可能な場合は解析する前にデータがどのようにとられたか確認しよう

• 確認が出来ない場合は現場の状況をできるだけ想像してみよう

意味のない解析の回避

適切な欠損値補完

Page 25: Pyladies Tokyo meet up #6

2.2 データの俯瞰が大切。2. 解析にあたって覚えておくと役立つこと

Page 26: Pyladies Tokyo meet up #6

データを集める仕事と集められたデータを解析することの欠点

現場での詳細なプロセス・依存関係について知っているため、詳細な点に気をとられてしまう

俯瞰的な視点を持たずに解析をおこなうと、整合性のとれない解析をおこなってしまう

Page 27: Pyladies Tokyo meet up #6

覚えておくと役立つこと 2

データの俯瞰が大切。

部分を意識しつつ、全体のことを忘れない!

Page 28: Pyladies Tokyo meet up #6

データを俯瞰する

いきなり解析しないまずざっくりした絵をかいてみる

分布型・データの傾向を確認

外れ値をチェックする

グループ化せずに値を見る

etc.

Page 29: Pyladies Tokyo meet up #6

ipython notebook demoデータの俯瞰

https://github.com/nobolis/PyLadiesTokyo_6_demo/blob/master/PyLadies6_demo_v1.ipynb

Page 30: Pyladies Tokyo meet up #6

2.3 統計値は必ずしも正しくない。

2. 解析にあたって覚えておくと役立つこと

Page 31: Pyladies Tokyo meet up #6

覚えておくと役立つこと 3

統計値は必ずしも正しくない。

解析をすれば統計値自体は得られるが、適用した手法が不適切ならば、その値が正しいとはいえない。

Page 32: Pyladies Tokyo meet up #6

ipython notebook demo線形回帰

https://github.com/nobolis/PyLadiesTokyo_6_demo/blob/master/PyLadies6_demo_v1.ipynb

Page 33: Pyladies Tokyo meet up #6

2.4 数式はこわくない。2. 解析にあたって覚えておくと役立つこと

Page 34: Pyladies Tokyo meet up #6

覚えておくと役立つこと 4

数式はこわくない!• 数式は簡潔に変数間の関係を表すもの

• 慣れれば文字よりも速やかに書いてあることが理解できるようになる

• 見た瞬間に「ぎゃーーー」となっても、次の瞬間には冷静さを取り戻して一つ一つ理解していこう

Page 35: Pyladies Tokyo meet up #6

ipython notebook demo数式

https://github.com/nobolis/PyLadiesTokyo_6_demo/blob/master/PyLadies6_demo_v1.ipynb

Page 36: Pyladies Tokyo meet up #6

2.5 解析は楽しい2. 解析にあたって覚えておくと役立つこと

Page 37: Pyladies Tokyo meet up #6

覚えておくと役立つこと 4

解析は楽しい• 練習ばかりしてても楽しくない

• 自分が知りたいと思うデータの解析をすれば、コードを学ぶのも楽しくなる

• 仕事で解析するならばそのデータに興味を持って解析しよう

• 仕事ではないならば、自分の知りたいことを知るために解析しよう

Page 38: Pyladies Tokyo meet up #6

楽しいデータ解析

Page 39: Pyladies Tokyo meet up #6

気象庁 各種データ・資料

http://www.jma.go.jp/jma/menu/menureport.html

Page 40: Pyladies Tokyo meet up #6

国連食糧農業機関 FAO の統計量データベース

http://faostat3.fao.org/home/E

Page 41: Pyladies Tokyo meet up #6

政府統計の総合窓口 e-Stat

http://www.e-stat.go.jp/SG1/estat/eStatTopPortal.do

Page 42: Pyladies Tokyo meet up #6

野球データ

http://shinyorke.hatenablog.com/entry/2015/05/04/022627@shinyorke

Page 43: Pyladies Tokyo meet up #6

Kaggle

https://www.kaggle.com/

Page 44: Pyladies Tokyo meet up #6

競技プログラミング

http://cocodrips.hateblo.jp/entry/2014/09/16/134759@cocodrips

Page 45: Pyladies Tokyo meet up #6

http://cocodrips.hateblo.jp/entry/2014/09/16/134759

Page 46: Pyladies Tokyo meet up #6

解析をするにあたって覚えておくと役に立つかもしれない 5 つのこと

1. データには背景がある。

2. データの俯瞰が大切。

3. 統計値は必ずしも正しくない。

4. 数式はこわくない。

5. 解析は楽しい。

Page 47: Pyladies Tokyo meet up #6

Thank you for your attention !