IBMが無料で提供する Data Scientist Workbench https://datascientistworkbench.com/
PCに環境を用意せず、ブラウザ上でデータ分析が行えるデータ分析のクラウド環境。恐らくこの環境に馴染んでもらってIBM Bluemixに巻き込もうということだと思うのですが、以下提供されているツール群はオープンソースで提供されている標準的なものなので、IBMにロックインされることもありません。IBM様に感謝しつつ、使いましょう。
注意:データの秘匿性は無いようなので、社外秘や顧客データはアップしないほうが良いです。
できること・使い方・スペック
参考資料 Data Scientist Workbench 入門
できること
- データ管理
- マイ・データ
- データのアップロードなど
- マイ・データ
- データ準備
- OpenRefine
- Googleが開発してオープンソースにしたデータ加工ツール
- OpenRefine
- データ分析
- Jupyter Notebook
- Pythonでデータ分析するなら事実上標準のJupyter環境。
- Python, Scala, Rの使用が可能。
- 今回はPythonを用います。
- Zeppelin Notebook
- Jupyter Notebookに似ていますがApache Zeppelinの環境が再現されている。
- Python, Scala
- すみません、触ったことなくスルー。
- RStudio IDE
- Rでデータ分析するなら事実上標準のRStudio環境。
- RStudioをPCにインストールしている人は違和感があるかも知れませんが、その環境がそのまま(細かなところは違いがあるかも知れないですが)ブラウザ上で再現されている。今回はJupyter Notebookを用いるのでスルー。
- Seahorse
- コマンドではなくブロックを組み合わせるように分析パイプラインを組んでデータ分析を行うツール。Azure MLかWekaをご存知ならそれに似ていると思う。
- Sparkが使えるらしいですが、触ったことなくスルー。
- Text Analytics
- 自然言語処理のツールらしい。
- すみません、触ったことなくスルー。
- Jupyter Notebook
スペック
ごめんなさい、不明。
Data Scientist Workbenchを使ってみた(途中) やData Scientist Workbenchのすすめ(1)によるとデータ容量は100Gまでのようです。
アカウント登録・ログイン
Linked in, Google, Git, Facebook, IBM提供のBig Data Universityのアカウントがあればそれでログイン、あるいは独自にアカウントを登録する。
ログイン後ユーザー用の環境設定に20-30分くらい掛かるようだ。何をしているのだろう?
Jupyter NotebookでPythonを使う
Jupyter Notebookの使い方自体は先程紹介したData Scientist Workbench 入門のp24-p31にあります。ざっくり言いますと
- Jupyter Notebookを選択
- 右上の青いアイコンで Python3 (かPython2)を選択
- In []: となっている右側のテキストボックスにコマンドを入力
- Enterで改行が可能
- Shift + Enter あるいは 画面上の ▶| ボタンでコマンドを実行
TensorFlowのチュートリアルを実行
TensorFlowはGoogleが開発した機械学習のフレームワークで深層学習などができる。言語はPython。チュートリアルを実行してみよう。ほら、Windows環境にはTensorFlowは標準では対応してなくてDockerが必要なので、躊躇していた方が多いのではないですか。もうすぐ実行できるのですよ。
チュートリアルは英語なのでそこも躊躇している方がいるかと思いますが、幸いQiitaの同志をはじめ多くの方が和訳や実行記録を残してくださってます。
MNIST For ML Beginners
手書き文字認識のチュートリアルです。
TensorFlow MNIST For ML Beginners チュートリアルの実施と、本来はTensorFlowのインストールからが必要ですが、Data Scientist WorkbenchにはTensorFlowもインストール済みのようで、インストールは不要です。
たくさん和訳や実行記録がありますが、今回はTensorFlow MNIST For ML Beginners 翻訳 か TensorFlowチュートリアル - ML初心者のためのMNIST(翻訳)を。
Qiita記事中の下記のような灰色背景のコード
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
をJupyter Notebookのコード入力用のテキストボックスに入力して実行します。
、、、チュートリアル記事中のコードを実施し終わると0.91に近い値が出力されるはずです。もちろん先は長いのですが、深層学習恐れるに足らず、あっけないですね。
Deep MNIST for Experts
TensorFlow Deep MNIST for Experts 翻訳 を参照しながら実行できるでしょう。
for i in range(20000):
のところで多めにループを回しているので10-20分程度掛かりますがWorkbench環境でもJupyter Notebookで試せました。
、、、というところで次の
- TensorFlow Mechanics 101
- tf.contrib.learn Quickstart
を試したいところだが上手く動かない。 2016/09/19現在 WorkbenchのTensorFlowは 0.8.0 のようです。それが影響しているのかも。Updateを試みたが、、、
だめ。ごめんなさい。とりあえずTensorFlowのチュートリアルはここまでで断念。
!pip3 install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.10.0-cp34-cp34m-linux_x86_64.whl
!pip3 install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.10.0-cp34-cp34m-linux_x86_64.whl
Chainerのチュートリアルを実行
Chainerのインストール
TensorFlowと異なり、インストールされてないので自前でインストールする。
Chainerのインストールは http://docs.chainer.org/en/stable/install.html とのことですが、必要なものは既に入っているようで、下記だけでインストール出来ました。
!pip install chainer
Introduction to Chainer
c.f. Chainerチュートリアル の和訳【Chainerの紹介と多層パーセプトロン】
特に困ることなくチュートリアルのコードを実行可能です。
-
Recurrent Nets and their Computational Graph
も途中まで動いたのだけれど x_list 変数にあらかじめ単語のリストを入れる必要があるとのことで、ごめん保留
Kerasのチュートリアルを実行
KerasとはTensorFlowとTheanoをバックエンドとして、フレームワークをもっと書きやすくした?ようなもの。
Kerasのインストール
https://keras.io/#installation ですが下記だけでOK
!pip install keras
チュートリアルがないようなので、六本木で働くデータサイエンティストのブログより「KerasをTensorFlowバックエンドで試してみた:「もっと多くの人に機械学習とDeep Learningを」という時代の幕開けを実行してみる
- テストデータをあらかじめData Scientist Workbench上にダウンロードしておく
- 記事中には ~/.keras/keras.json の設定等ありますがData Scientist Workbench上ではこの設定をせずにTensorFlowをバックエンドとして実行可能のようです(TheanoをインストールしておらずTensorFlowのみだから?)
- 後はコードを入力して実行でOK
以上、Data Scientist Workbenchを用いてTensorFlowのチュートリアル途中まで、Chainerのチュートリアル途中まで、Kerasの実行練習を行いました。Data Scientist WorkbenchはRも深層学習以外も出来るので。またいずれ。