PyCon JP 2016 Day2
You Might Not Want Async¶
@uranusjr 台湾
www.bimetek.com
Quick Question
* Concurrency with Python
* Threads
* Multi-Processing
* Single-thread asynchrony
* asyncio
Not For You
* Infect the whole program
* Async is not parallelism
* Third party support
import aioodbc
async def read_data():
con = await aioodbc.connect()
cur = await con.cursor()
await cur.execute()
import asyncio
async def main():
data = await read_data()
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
loop.close()
How to test Python 3.4 asyncio code?
テストコードを書くのがとても大変になる
What Happened?
* unittest does not know about asyncio
* Coroutine method are executed NORMALLY
Job Fair¶
http://type.jp/et/log/article/pycon2014-jobfair
* ヴェッテル CEO 山下英孝氏
* 白ヤギコーポレーション CEO シバタアキラ氏
* VOYAGE GROUP CTO 小賀昌法氏
* モバイルファクトリー リードエンジニア 佐藤健太氏
* リアルグローブ CEO 大畑貴弘氏
proxy2¶
http://www.slideshare.net/inaz2/httpproxy2
proxyたてれる
pythonで入門するApache Spark¶
http://www.slideshare.net/tatsuyaatsumi/pythonapache-spark-at-pycon2016
あつみ ブレインパッド
Apache Spark
高速と多目的を特徴とした分散処理システム
複数台のサーバを使って大量データを高速に処理
MapReduceだと処理ごとに中間データを作成していて
処理が増えるほどパフォーマンスが落ちるがsparkは早い
多様なライブラリ
SparkSQL, Spark Streaming, MLlib, GraphX
多様なAPI
Python, Scala, Java, R
従来のHadoopスタックが利用可能
自動クラスタリング機能の製品をつくったのでそれを参考に説明
KMeans(MLlib)でクラスタリングをしてセグメントを判断
MLlibロジスティック回帰 KMeansとかがある
普通はspark.mlを使う
パイプラインAPI
Transformer:文章から単語をだすとか
Estimator:学習処理
Pipeline:組み合わせる
データ量の少ないタスクにとっては速度も運用負荷もあるので無駄
Shuffle処理はパフォーマンス改善の勘所
“Analytics x Engineering” Brainpad
EMRは運用がとても楽、中身はHiveTable S3という感じ。
pandasによる時系列データ処理¶
https://speakerdeck.com/sinhrks/pandas-niyoru-shi-xi-lie-detachu-li
時系列データ分析のための効率的な処理を知る
pandasとはデータ分析のためのデータ構造と、データの前処理集計において便利な関数を提供
pandasのメリット、汚いデータに対応、直感的な操作、高速
高速についての参考:pandas internals @pyconjp 2015
1次元:Series
2次元:DataFrame
3次元:Panel
時系列データとは、ある現象の時間的な変化を連続的に観測して得られた値の系列
現実は周期が違う、抜けがある、ラベル付けされていないなどの問題がある
時系列の関係を調べたい
将来の予測をしたい
変化点・以上値を検知したい
時系列モデルを含むPythonパッケージ
statsmodels, pyflux
必要に応じRを利用 (rpy2, pyper)
時系列をトレンド、季節性、残差に分解
sm.tsa.seasonal_decompose
標本自己相関、標本偏自己相関
正規乱数の場合は過去の値との相関がない
→つまり未来の値は予測不能
SARIMAモデル
季節的自己回帰和分移動平均モデル
トレンドの除去 df.diff().plot()
対数変換 np.log(df)
季節性の除去
単位根検定
Augmented Dickey-Fuller検定で↑を検証できる
forecast将来を予測できる
Rの方がもっと多くのモデルがある。
ガチ勢ならRでもいんじゃね?
https://getchip.com/pages/pocketchip
型ヒントについて考えよう!¶
http://www.slideshare.net/yusukemiy/ss-66288339
宮崎 京都大学院生
keynote about python 3.6
-> including type hints
Function Annotations python 3.0
Stub Files: .pyiで宣言だけ外だしできる
PEP484で型が定義されてる
CPythonではパフォーマンスの変化はない