Jubatusという機械学習フレームワークはフロー型、つまり次々と流れてくるデータを、逐次的に学習と分析できるという特徴があります。コードを書いては試せるJupyter Notebookと相性が良さそうかなということで、ちょっと書いてみます。

Jubatusで戦国武将の名前を学習させ、徳川家か足利家かを予測するサンプルをJupyterで動かしてみましょう。

ちなみに私は下記を参考にMac上にVagrantでCentOS7.2を入れて使っています。
https://qiita.com/RyochanUedasan/items/b1ff13bc39913cb5b561

CentOS7にJupyterをインストール

anacondaを入れれば勝手に入りますが、Macのブラウザ(Chrome)から使えるように、こちらを参考に穴あけをしています。

sudo yum update -y
wget https://repo.continuum.io/archive/Anaconda2-5.0.1-Linux-x86_64.sh
bash ./Anaconda2-5.0.1-Linux-x86_64.sh

mkdir ~/.jupyter
touch ~/.jupyter/jupyter_notebook_config.py
vi ~/.jupyter/jupyter_notebook_config.py
c = get_config()
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8888

VagrantfileでJupyter用のポートをフォワードするよう設定しておくと楽ですね。

config.vm.network "forwarded_port", guest: 8888, host: 8888

CentOS7にJubatusをインストール

ほぼ、こちらの手順でRHEL7と読み替えればうまくいくと思います。
http://jubat.us/ja/quickstart.html

一点、Pythonクライアントのインストールに必要なpipはez_setup.pyからではなく yumで入れたほうが確実です。

sudo yum install python-pip
sudo pip install jubatus

githubからJubatus Exampleをcloneし動作確認

sudo yum install git
git clone https://github.com/jubatus/jubatus-example.git

git cloneが成功したら、shogunを動作確認

shogunをJupyterに移植

こんな感じでコピペすればOK。

j1.png

予測するところ(元データは「守時」だった箇所)を書き換えてみました。「晋三」は徳川っぽいのか・・・。

j2.png

予測の関数を改造すれば、よりフロー型の機械学習という特徴を味わえそうですね。

广告
将在 10 秒后关闭
bannerAds