12
1 © 2011 NTT Information Sharing Platform Laboratories © 2011 NTT Information Sharing Platform Laboratories Jubatus のののの のの の NTT ののののののののののののののの

Jubatus tutorial

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Jubatus tutorial

1 © 2011 NTT Information Sharing Platform Laboratories© 2011 NTT Information Sharing Platform Laboratories

Jubatus の使い方

小田 哲NTT 情報流通プラットフォーム研究

Page 2: Jubatus tutorial

2 © 2011 NTT Information Sharing Platform Laboratories

アジェンダHand onJubatus をインストールする

チュートリアルを動かす

ストリーム処理に組み込む

応用例 詳細は次のセッション

Page 3: Jubatus tutorial

3 © 2011 NTT Information Sharing Platform Laboratories

インストール

Page 4: Jubatus tutorial

4 © 2011 NTT Information Sharing Platform Laboratories

インストールJubatus はインストールがメンドクサイインストール手順をそのままスクリプト化

jubatus-installer

とにかく気軽に試してみたいAMI(Amazon Machine Image)

Tokyo region のコミュニティ AMI で” jubatus” で検索

VM イメージご相談ください

Mac な環境http://d.hatena.ne.jp/hjym_u/20111107/1320647557

Mac ports が出来ているらしい。

Page 5: Jubatus tutorial

5 © 2011 NTT Information Sharing Platform Laboratories

インストールのはまりどころ事前準備gcc*, make, git, python-dev( クライアント用 ) を最新化しておく

Python のバージョンCent OS 5.6 など python 2.4 では動かない

messagepack と pficommonPficommon は、 messagepack に依存しているため、インストールの順番を間違えると動かない。

wafPython ベースのビルドシステム

./waf configure

./waf build

./waf install

Page 6: Jubatus tutorial

6 © 2011 NTT Information Sharing Platform Laboratories

チュートリアル

Page 7: Jubatus tutorial

7 © 2011 NTT Information Sharing Platform Laboratories

問題設定20news の分類20 の話題に対して投稿された 4 万件以上の文書がある。

ランダムに80%を学習用データ、残りの20%を分類用データ、とする。

手順 学習用データ  ( ラベル , 文書 ) の組を学習する。 その後、分類用データ  ( 文書 ) からラベルを推定する。 実際は、分類用データにもラベルが付いている(投稿された話題が設定されている)

ため、それがどのぐらい正しかったかを後ほど評価することが出来る。

学習用データ 分類用データ

ラベル(話題)

Page 8: Jubatus tutorial

8 © 2011 NTT Information Sharing Platform Laboratories

プロセス構成

jubaclassifier

tutorial.pyjubatus-python-client

ラベル(話題)ラベル(話題)

Page 9: Jubatus tutorial

9 © 2011 NTT Information Sharing Platform Laboratories

エラーが出た場合は・・・

socket.error: [Errno 99] Cannot assign requested addressローカル同士で短時間にコネクションを大量に張っていると、開放される前に socket を使い切ってしまう場合がある。

sudo /sbin/sysctl -w net.ipv4.tcp_tw_recycle=1

Page 10: Jubatus tutorial

10 © 2011 NTT Information Sharing Platform Laboratories

複数台構成

jubaclassifier

tutorial.pyjubatus-python-client

jubaclassifier

jubakeeper zookeeper

Page 11: Jubatus tutorial

11 © 2011 NTT Information Sharing Platform Laboratories

classify.py

ストリーム処理に組み込む

jubaclassifier

classify.pyjubatus-python-client

jubaclassifier

jubakeeper zookeeper

queueソース

spam?

Page 12: Jubatus tutorial

12 © 2011 NTT Information Sharing Platform Laboratories

様々なソースを取り込む

NW パケット センサー情報

人の入力自然言語