PyCon2017に参加したときに調べたこと

More than 1 year has passed since last update.

とりあえず調べたWebページだけ共有します。後から資料をつけたりコメントつけたりしていきます。


Day1


野球を科学する技術〜Pythonを用いた統計ライブラリ作成と分析基盤構築 | PyCon JP 2017 in TOKYO


スクレイピング

Scrapyを利用。デフォルトの設定で利用するとサイトへの攻撃になりかねないのでそこは変える。


タスク実行

Airflowを利用。まともに使うのは結構辛い。Dockerイメージ配布中なのでそちらオススメ。


可視化

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


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


gensim

トピックモデルとかWord embedding(word2vec, doc2vec)とか


Machine Learning


Scikit learn


TensorFlow


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(塗りつぶし)


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


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の続き。


資料