とりあえず調べたWebページだけ共有します。後から資料をつけたりコメントつけたりしていきます。
Day1
野球を科学する技術〜Pythonを用いた統計ライブラリ作成と分析基盤構築 | PyCon JP 2017 in TOKYO
スクレイピング
Scrapyを利用。デフォルトの設定で利用するとサイトへの攻撃になりかねないのでそこは変える。
-
Scrapy | A Fast and Powerful Scraping and Web Crawling Framework
-
scrapy/scrapy: Scrapy, a fast high-level web crawling & scraping framework for Python.
-
Scrapy + Scrapy Cloudで快適Pythonクロール+スクレイピングライフを送る - Gunosyデータ分析ブログ
タスク実行
Airflowを利用。まともに使うのは結構辛い。Dockerイメージ配布中なのでそちらオススメ。
-
Apache Airflow (incubating) Documentation — Airflow Documentation
-
Airflowによるデータパイプラインのスケジュールとモニタリング - Speee DEVELOPER BLOG
可視化
Jupyter Notebook & Redashで可視化。RDBMS(SQL)ならRedashで、それ以外の実験的なものはJupyter。
Jupyter
Redash
HoloViews
Using machine learning to try and predict taxi availability | PyCon JP 2017 in TOKYO
シンガポールのAPIから得たデータから、地理情報を元に混雑状況を予測した話。
小さなデータセットで単純なモデル(Linear Regression)から初めて、複雑なモデル(多項モデル→ランダムフォレスト)と進めていたのが面白かったです。着実に進めていた印象でした。
発表資料
スライド
Jupyter Notebook
-
pycon-talk-taxidata/6. Random Forests.ipynb at master · hari-allamraju/pycon-talk-taxidata
-
pycon-talk-taxidata/8. Using a larger grid.ipynb at master · hari-allamraju/pycon-talk-taxidata
-
pycon-talk-taxidata/9. Interactive map.ipynb at master · hari-allamraju/pycon-talk-taxidata
after VOEZ launch: how to resolve problems of mobile game server development and service maintenance | PyCon JP 2017 in TOKYO
Why you should do text analysis with Python (even if you don't want to) | PyCon JP 2017 in TOKYO
Pythonで自然言語処理を行う話。Researcher
spaCy
-
spaCy - Industrial-strength Natural Language Processing in Python
-
explosion/spaCy: 💫 Industrial-strength Natural Language Processing (NLP) with Python and Cython
gensim
トピックモデルとかWord embedding(word2vec, doc2vec)とか
Machine Learning
Scikit learn
-
scikit-learn: machine learning in Python — scikit-learn 0.19.0 documentation
-
scikit-learn/scikit-learn: scikit-learn: machine learning in Python
TensorFlow
-
tensorflow/tensorflow: Computation using data flow graphs for scalable machine learning
-
Googleが提供する機械学習ライブラリ TensorFlow を1時間で試してみた | freshtrax | デザイン会社 btrax ブログ
Building a Customized Personal Assistant with Python | PyCon JP 2017 in TOKYO
Image processing with mobile device
Translate
CUI
Bot
Greetings
RSS Parser
Facebook Messenger
Pythonによる文章自動生成入門!Python ✖︎ 自然言語処理 ✖︎ ディープラーニング | PyCon JP 2017 in TOKYO
見てなかったけれど面白そうなので、後でチェックする。
資料
プレゼンテーション:Pythonと機械学習によるWebセキュリティの自動化 | PyCon JP 2017 in TOKYO
脆弱性検査を行う際の攻撃用パラメーターの自動生成に関する取り組み。NLPをうまく取り入れて、攻撃用パラメーターを(Javascript, HTMLのサブセットとなる)独自言語として定義していたのが成功の秘訣だと思う。
資料
Day2
Keynote
Pythonで実現する4コマ漫画の分析・評論 2017 | PyCon JP 2017 in TOKYO
著者自己紹介
s治さん
前回のあらすじ
OpenCV : Floodfill(塗りつぶし)
-
Welcome to OpenCV-Python Tutorials’s documentation! — OpenCV-Python Tutorials 1 documentation
-
Miscellaneous Image Transformations — OpenCV 2.4.13.3 documentation
Open CV : 顔認識
HOGに基づくやつかな。
Keras Cifar10
画像分類、顔画像から登場人物の判定に利用していた。画像の枚数が不均一すぎる & 枚数が少なめ(最大でも200枚弱/class)かなあ。
The theory of Serverless development by Python (理論から学ぶPythonによるサーバレス開発) | PyCon JP 2017 in TOKYO
資料
ServerlessとIoT
相性がいいらしい。
設計指針 : Twelve-Factor App
ログ
監視
Python におけるドメイン駆動設計(戦術面)の勘どころ | PyCon JP 2017 in TOKYO
サンプルコード
戦略的側面 VS 戦術的側面
- 戦略的側面 : プロダクト全体を俯瞰するための考え方
- 用いる用語の整理 : ユビキタス言語
- 問題領域の整理 : コアドメイン、サブドメイン、汎用ドメイン
- 実装するシステムの整理 : 境界づけられたコンテキスト
- システム間の関係の整理 : コンテキストマップ
- 戦術的側面 : 個々の実装のための考え方
- アーキテクチャ : MVC, MVVC
- ドメインモデル : エンティティ、値オブジェクト、サービス、リポジトリ、ファクトリ、集約、ドメインイベント、などなど
- アプリケーション : コンテキスト全体の調整役
DDD
DDDの書籍
Hexagonal architecture
CQRS
DI
Injection必須
ORマッパー
機械学習におけるデータの再現性について | PyCon JP 2017 in TOKYO
データサイエンスにおいて、実験の再現性を高めるための一要素である、データ取得の再現性を高めようという試み。
データをクラウド上においておき(Redshiftとか)、そこからの取得がPythonコードで簡単にできればマシになるんじゃないかという考え方をしている。
資料
Github
自己紹介
Boto
他の手法
大規模データのバージョン管理ができればOK
Git LFS
Data Version Control
ディープニューラルネット確率的プログラミングライブラリEdward | PyCon JP 2017 in TOKYO
発表資料
自己紹介
Edward
変分近似, MCMC, 機械学習
Metropolis Hastings
MCMCあたりの学習方法
Statistical Rethinking
トピックモデルによる統計的潜在意味解析
David Mackay Lecture 14 of the cambridge course
-
Lecture 14: Approximating Probability Distributions (IV): Variational Methods - YouTube
-
David MacKay: Information Theory, Inference, and Learning Algorithms: Home
ADVI BBVI
Edwardで使っている例。
その他ライブラリ
Autograd
PyMC3
Pythonにおけるデバッグ手法 | PyCon JP 2017 in TOKYO
printデバッグ
略
pdb
Tips
pdbはimportするのと同じ行でpdb.set_trace()
import pdb; pdb.set_trace()
ipdb
bpdb
pudb
PyCharm
noseでのテストと、テスト時のデバッグ
Jupyter Notebook
Open Space
型アノテーション
Python v3.6.2以降で使える型アノテーションの話。ベンリに使おう変数アノテーション - typing.pyとの楽しいお付き合い | PyCon JP 2017 in TOKYOの続き。