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

  • 17
    いいね
  • 0
    コメント

とりあえず調べた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の続き。

資料