日々の出来事や調べ物に関するネタを備忘録(Memorandum)として残していくBlogです。

PyData.Tokyo Tutorial & Hackathon #1 に参加してきた #PyDataTokyo

f:id:shinyaa31:20150307222017p:plain


分析環境"構築"は割と身近に身を置いている今日この頃なのですが、分析作業そのものにはまだまだ疎い状態です。興味自体は非常にあるのですが...という訳で、今回Pythonチュートリアルを行いながら機械学習の触りなどを体験出来るハッカソンイベントが開催告知されていたので参加申し込みを行い、晴れて抽選が通ったのでこの日(2015/03/07)参加して来ました。

会場はデンソーアイティーラボラトリ様@渋谷クロスタワー28F。見晴らし最高でフロアも寛ぎやすそうな(卓袱台もあった!)、良い雰囲気でした。

f:id:shinyaa31:20150307223812p:plain


事前準備

環境面の準備については、事前にイベント側からその手順についての告知があったのでそれに倣う形で進めました。Anacondaベースの環境を用意するところまでを一応実践。

がしかし、導入対象(初心者向け)のAnacondaをAmazon Linux(EC2)に導入しており(MacPython実行環境が2.7且つイベントの推奨導入Python環境が3.4だったので環境を汚したく無かった)、またその環境上で上手いことサーバー環境として使う方法を知らなかったので、途中グラフ表示の部分は教科書テキストを眺めるのみとなってしまいました。

この点については懇親会で『サーバで動かして使ってます』というのを知り、帰り掛け調べつつ以下エントリとして会社ブログに起こしました。IPython Notebookがこういう形で使えるのは嬉しいですね。


※イベント終了&帰宅後、IPython Notebookをクラウド上(EC2)で利用する手順について会社ブログでまとめました。今後Pythonの勉強の際には使って行こうと思います。

イベント導入部

f:id:shinyaa31:20150307222508p:plain

シバタアキラ(@punkphysicist)さんによるイベントの説明と当日のお題に関する解説など。『タイタニック』の乗客データ(乗客名、年齢、性別、乗船クラスなど)の情報から、機械学習を使って生存者を推定するモデルを作成する、というのが今回のお題となっています。『Kaggle』というサービスを用い、作成したモデルの回答が点数化され、そのランキングを競う形となります。


TITANIC sinking - YouTube

『Kaggle』そのものの内容についてはここらへんを参照。

また、本日のテーマについてもっと知りたい人のためのオススメ書籍として紹介されていたものは以下の通り。

Pythonによるデータ分析入門 ―NumPy、pandasを使ったデータ処理

Pythonによるデータ分析入門 ―NumPy、pandasを使ったデータ処理

実践 機械学習システム

実践 機械学習システム

Pythonプロフェッショナルプログラミング第2版

Pythonプロフェッショナルプログラミング第2版

トップデータサイエンティストが教える データ活用実践教室

トップデータサイエンティストが教える データ活用実践教室

あと、可視化って部分でPythonではmatplotlibやbokehなど紹介された流れで、Tableauも紹介されていたのには『おっ』と思いました。やはり"可視化"って括りでは注目度高いんだな〜と実感した次第。ただやっぱり個人ベースでとなるとあのお値段は高いですよねぇ...w

自己紹介&ランチ

開始時間が11:00からだったので、昼食の時間を利用して各自自己紹介。1人あたり30秒〜1分位で参加者・スタッフ全員が行いました。そしてお弁当、とっても美味しかった!このチョイス、グッジョブです!
f:id:shinyaa31:20150307233419p:plain

ハンズオン第1部

f:id:shinyaa31:20150307222519p:plain

池内 孝啓(@iktakahiro)さんによるハンズオン第1部。IPythonの使い方/チュートリアル用のデータ参照/Pandasを使ったデータの前処理/matploblibを使ったグラフ表示など基本的な部分をIPython Notebookでコード実践しながら進行。IPython Notebookは今回初めて使ったのですが、残せるし実行結果が直ぐ試せるし、その記録も残せるしとても便利なツールですね。テキストはそのまま読み進めるだけでもとても分かり易く理解もし易いです。

ハンズオン第2部

f:id:shinyaa31:20150307222533p:plain


第1部の内容を引き継ぎ、Hideki Tanaka(@atelierhide)さんによる機械学習ハンズオン。Python機械学習ライブラリscikit-learnを使って、機械学習を使った分類モデルの生成と分類結果の検証について実践を行いました。

こちらも併せて公開された参考資料を元に実践進行。より内容は高度になり専門用語も色々出て来ましたが、スタッフの方々や有識者の方々が適宜解説を挟んでくれたので理解も進み易かったです。これは全編通してですが、話を聞きながらハンズオンを進めるので精一杯だったので発表資料は是非とも見直して理解をさらに定着させたいところです。公開を首を長くして待つ事にしよう。

懇親会

f:id:shinyaa31:20150307222017p:plain

第2部終了後、幾らかの休憩&ディスカッションタイムを挟み、ピザ到着を以って懇親会開始。前半は歓談、そして後半はハッカソン枠参加者の皆さんによる成果発表を聞く形に。テーマは共通なのですが、よりランキングを高めるために施した処理の解説が見事に人によって異なるのが非常に興味深かったですね。ハッカソンと言うと何らかものを作り上げるというのがイメージとして思い浮かびますが、こういうのもあるんだ!そして色々な意見が聞けてこれは勉強になるな〜!と思った次第です。

今回は知り合いの方も殆ど居ないような状況だったのでちょっとドキドキでしたが(何やかんやで最近勉強会やイベントも最近参加頻度が落ちてたり、参加テーマが固まってたりしてましたしね...)、スタッフの方々の進行運営も素晴らしくテーマも未知の分野ながらも得るものが沢山あった勉強会でした。(勉強会参加レポートとしては専門的なメモを殆ど書けていませんが、この点は御了承頂きたく思いますm(_ _)m)『機械学習』の業務や環境に於ける位置付け的なコメントも聞くことが出来たので、今後仕事面・クラウド環境と紐付けて何らか反映させて行ければな〜と思っております。Python/R/機械学習周りは継続勉強ですな〜。クラウドと絡めて効率的に勉強して行きたい。

イベントスタッフの皆様、参加者の皆様、ありがとうございました!