PyCon JP 2016 参加レポート

9月20日から9月24日にかけて、PyCon JP 2016が開催されていました。今年の参加者数は680人で、去年から10%以上も増えたようです。
DATUM STUDIO株式会社も、「Pythonを用いたデータ分析入門」というタイトルでチュートリアルの一つを担当させて頂きました。

残念ながらスプリントの方には参加できなかったのですが、9月20日のチュートリアル、9月21日・22日のカンファレンスの模様について、PyCon初参加!のDATUM STUDIO内定者のメンバーからレポートさせて頂きます。

PyCon JP 2016 参加レポート

チュートリアル(9月20日)

「Python を用いたデータ分析入門」というタイトルで弊社の戸嶋が登壇し、私達内定者がサポートとして参加しました。
チュートリアルでは、pandasやscikit-learnを用いて、統計学の様々な手法を駆使しながらデータの前処理、解釈方法、可視化などをテーマにハンズオンを行いました。

tojima

 

audience-2

内容のボリュームも濃さもあるチュートリアルでしたが、分析手法についての細かい質疑応答があったり、参加者の皆様のレベルの高さを感じました。私達も負けていられないです!

datum

お忙しい中チュートリアルに参加して下さった皆様、本当にありがとうございました。
当日使用した資料を載せておきますのでぜひ御覧ください。

ソースコード:https://github.com/Salinger/pycon2016_tutorial_datum

カンファレンス(9月21日〜22日)

とにかく熱気にあふれていました!
どの講演も面白そうで、1タームに1つ選ぶことが難しかったです。講演の内容は、pandas時系列分析の手法など業務に直接役立てられるものから、4コマ漫画の分析・評論ような趣味としてやってみたいと思うものまで、多岐にわたりました。こんなに色々な用途で使えるPythonは、最強の言語ですね。
2日目は雨が降っていたにも関わらず大勢の方が参加されていて、両日共に大変盛り上がりました。昼食も配布され、15時にはおやつもありました。

venue

手前のカップケーキにはPythonのロゴ入りクッキーがのっていて、とっても可愛い!

venue1

昼食も豪華!

各企業のブースも大盛況で、Tシャツ配布やくじ引きが行われていました。
両日とも全ての講演が終了した後にはLTセッションが行われたのですが、参加された方々の「5分の中で本気で全てを伝えよう!」という熱意がすごかったです。

1日目の午後一番には、弊社の真嘉比が「Pythonで作るWebクローラ入門」というタイトルで発表を行いました。普段業務でクローラの開発を行っている経験を活かし、クローラを作る上でのいくつかのTipsが織り込まれています。

詳細については、後日本人が参加ブログを書くそうなのでお楽しみに!

以下では、聴講した講演についていくつか紹介したいと思います。

全講演の動画はこちらにあります
https://www.youtube.com/playlist?list=PLMkWB0UjwFGlYvIcvKsGhJ7SJIODj_zJZ

Building An Interpreter In RPython

JITを使った RPythonという爆速Python処理系の話です。実はR言語のインタプリタをPythonを実装するお話だと勘違いして聞きにいきました(汗)
調べた所、”R”はRistricted(制限された)という意味らしいです。R言語は関係ないですね。昔Lispの小さい処理系をPythonで書いたことあったので、一応話は理解できました。めっちゃ処理速度が早いのは素晴らしい。

Building a data preparation pipeline with Pandas and AWS Lambda

データの前処理をどのように行うか?という話です。Python + Pandas を AWS Lambda で動かして、サーバレスで処理する仕組みが紹介されていました。弊社でも似たような処理系が動いていたので、分析系でも今後こういう事例が増えてきそうだなと思いました(インフラの管理も楽になりますね)

ただ、分析に必要なライブラリをコンパイルして同梱するのがちょっと大変そうなので、AmazonさんがAWS Lambdaのデフォルトの環境に分析系のライブラリを入れてくれないかなと淡く期待しています。

Rasberry Piで日本の子供たちにプログラミングのパッションを伝えよう

RaspberryPiで日本の子供たちにプログラミングのパッションを伝えよう!

Rasberry Piを頭脳にしたパソコン「Kano」を使って子供たちにプログラミングの面白さを伝えたい!というセッションでした。

  • Small(子供達に扱いやすい)
  • Fun(面白い)
  • Story(話が面白い)
  • Language(母国語で覚えたい)
  • Friends(友達と一緒に学びたい)

これらの要素は子供達にプログラミングの楽しさを伝えるためには必要不可欠な要素とのことです。Kanoは、RPGゲームのようにLinuxコマンドを覚えることができる、豊富なPythonアプリケーションを含んでいるそうです。
登壇者曰く「Raspberry Piはプログラミングを身につけるのに最高のプラットフォームであり、友人と一緒に学び合えばより楽しくなる」とのこと。登壇者の熱い気持ちが伝わってくるセッションでした。

Pythonistaよ、Pythonistaを知っているか 〜こんなの欲しかった! iOSアプリ開発環境Pythonista〜

PythonistaというiOSアプリ開発環境の特徴や使い方が紹介されていました。登壇者様が作成した賞味期限通知アプリを使ってデモが行われていたのですが、シンプルな仕組みでGUIを使って直感的に操作出来るのは嬉しいですね。
私自身はクライアントアプリ開発の経験がないのですが、この機会にPythonistaを利用してダイエット関連のアプリを作ってみたいと思いました。

ニューラルネットワークのフレームワークであるChainerで始める対話Botの作成

対話できるBotを Deep Learning 系の技術(word2vec や RNN)を使って作ります!というセッションでした。対話には「連続性」、「インタラクティブ性」、「新しいユーザー体験(キャラクター性が出せる)」というメリットがあって、最後のキャラクター性については少ない対話ログでも作成可能である、という話はなるほどなと思いました。そこまで賢くなくてもキャラクターだと気軽に話してくれやすい、というのも、サービスとしては大きいと思います。
昔、自分でも似たようなBotを作成したことがあるのですが、

1. 概念を扱うベクトルに落とし込むところが word2vec になった。
2. 学習器が RNN ベースのものがメジャーになってきた。

あたりが昔との変化点な気がします。データ分析界隈でのいい感じの自作Bot活用方法を模索していきたいです。

bottle.py ライブコーディング&リーディング

ソースコード:https://github.com/denzow/bottle_beginner

Webアプリケーションフレームワーク bottle.py を利用して、LINEのようなチャットアプリを作成しようというチュートリアルです。その場で登壇者様がコーディングしてアプリを作成していたのですが、あまりのコーディングの速さに驚きました。本当にすごい!
一から自分で手を動かしてWebアプリケーションの作成に触れられたのが経験として大きかったです。登壇者様の負担は大きかったかと思うのですが、ビギナーには非常に効果のあるセッションでした。

最後に

このような技術カンファレンスに参加したこと自体が初めてだったのですが、1日目の午前中の時点で来年も参加したいと思いました!
今年は一参加者でしかなかったので、来年は私達自身もPyCon JP参加者の印象に残るように、何かしらの形でイベントをもりあげる側に回りたいと思っています。そのために、もっとPythonを学びます。

このような素晴らしいイベントを開催して頂いた PyCon JP 2016 のスタッフの皆様、お疲れ様です&本当にありがとうございました!