Cloudでデータサイエンスを始めるよ


この記事は[CloudAnalytics](http://qiita.com/advent-calendar/2016/analytics) advent calendarの1日目です。

Cloud上でのAnalyticsをテーマに分析・機械学習・AIなどを扱います。
今回はカレンダーを始めるにあたってまずは分析環境を用意しておきます。
以下は30日無料で利用可能ですのでカレンダーに合わせて触ってみてください。
また、現在DataScientistチームの立ち上げを行っている方など試してみてはいかがでしょうか？

今日は利用する環境の概要説明と初めてのNotebookの作成を行います。

##Data Science Experience
[DataScienceExperience](http://datascience.ibm.com/)はIBMの提供するCloud上のデータサイエンスプラットフォームです。
JupyterNotebookを筆頭にDataScienceを行うために必要なツール群が
一式用意されているのと、企業でのDataScienceを促進するための
チーム開発機能がセットになったプラットフォームです。

##実行環境
DataScienceExperienceでは
* Python 2.x/3.x
* Scala 2.1x
* R
の３つの言語を利用することが可能です。
また、Python,Scala,Rのいずれでもコードの実行はSpark上で分散実行されます。(scが生成された状態でNotebookを利用可能）
裏ではBluemix上のSparkに接続されています。
ディフォルトは2Executorのみしか利用できないようですが、Executorの拡張は可能です。

##インタフェース
現在JupyterNotebookとRStudioが用意されています。

以下はJupyterNotebookです。
![スクリーンショット 2016-12-05 10.08.22.png](https://qiita-image-store.s3.amazonaws.com/0/31585/d910c22e-59ef-221a-1efb-fc3c7fc1d03c.png "スクリーンショット 2016-12-05 10.08.22.png")

以下はRStudioです。
![スクリーンショット 2016-12-05 10.10.00.png](https://qiita-image-store.s3.amazonaws.com/0/31585/dcf22d83-d675-7501-0de8-86e017db940e.png "スクリーンショット 2016-12-05 10.10.00.png")

普段利用しているNotebookやRStudioとインタフェースは一緒ですね。

##DataSrouce
DataScienceを始めるにあたって、どのようにデータを取得してくるかは重要です。
DataScienceExperienceではObjectStorageが5GB無料でついてきます。
また、Bluemixの各StorageとGUIで接続可能で、特にCloudant(CouchDB)や
DashDBとはかなり接続性がよいです。
以下は接続の作成画面です。
![スクリーンショット 2016-12-05 10.20.22.png](https://qiita-image-store.s3.amazonaws.com/0/31585/873ec92c-cb28-16de-0249-038023792d70.png "スクリーンショット 2016-12-05 10.20.22.png")

他にもS3やImparaなど接続情報は必要ですがDataSouceとして利用可能です。
![スクリーンショット 2016-12-05 10.20.38.png](https://qiita-image-store.s3.amazonaws.com/0/31585/22f29830-cea6-5dea-c915-ec5f1ac11ffa.png "スクリーンショット 2016-12-05 10.20.38.png")



##チーム開発
DataScienceExperience上ではプロジェクトを作成し、Notebookを作成していきます。
プロジェクトに対して他のユーザーを追加することで簡単にNotebookの共有を
行ったり、DataSourceの共有が可能です。

以下はCollaboratorの編集画面です。
![スクリーンショット 2016-12-05 10.23.49.png](https://qiita-image-store.s3.amazonaws.com/0/31585/ced73018-df2a-c065-e91f-73c7a3b27c26.png "スクリーンショット 2016-12-05 10.23.49.png")

Admin,Viewer,Editorなどの設定が可能です。

NotebookやDataSouceも共有可能で、共同編集なども行えます。
![スクリーンショット 2016-12-05 10.26.12.png](https://qiita-image-store.s3.amazonaws.com/0/31585/361cc50f-eeb8-788d-594a-9ec358cbdd0e.png "スクリーンショット 2016-12-05 10.26.12.png")


##Projectの作成
まずはProjectの作成を行います。

以下の画像ではすでにいくつかのプロジェクトが作成されていますが、
ここでは新しいプロジェクトの作成をおこないます。
右上のcreate projectボタンからプロジェクトの作成画面に飛びます。
![スクリーンショット 2016-12-05 10.32.41.png](https://qiita-image-store.s3.amazonaws.com/0/31585/bafdba47-ca38-6e26-661d-47dd047b5b60.png "スクリーンショット 2016-12-05 10.32.41.png")


以下の画像はプロジェクトの作成画面です。
![スクリーンショット 2016-12-05 10.37.49.png](https://qiita-image-store.s3.amazonaws.com/0/31585/571e445c-55a3-6b1c-b2a5-ff7c10db8823.png "スクリーンショット 2016-12-05 10.37.49.png")

>Spark ServiceとObject Storageの欄について
ここではProjectが接続可能なSparkServiceとObjectStorageを選択しますが、初回のみSparkServiceの作成が必要です。ObjectStorageはSparkService作成時に付属している物またはBluemix上のObjectStorageなdが選択可能です。

これで真っ新なプロジェクトが作成されました！
![スクリーンショット 2016-12-05 10.42.06.png](https://qiita-image-store.s3.amazonaws.com/0/31585/d5c5aa2a-95af-5f87-5d6c-d3d0bb8dd1d5.png "スクリーンショット 2016-12-05 10.42.06.png")


##Notebookの作成と簡単なコードの実行
次にNotebookの作成とコードの実行を行っていきます。
先ほど作成したプロジェクト画面のadd notebooksボタンから
Notebookの作成画面に移ります。

![スクリーンショット 2016-12-05 10.51.04.png](https://qiita-image-store.s3.amazonaws.com/0/31585/066ab016-4445-884e-7f71-e45f8724c134.png "スクリーンショット 2016-12-05 10.51.04.png")

Sparkのversionは2.0と1.6から選択可能です。
ここではPython2とSpark1.6を選択しています。

>Notebookの名前(Name)について
現在Nameの項目を日本語で入力した場合にPreviewがうまくできないバグがあるようです。issueは上げておいたのでその内修正されると思いますが、ここでは英字入力にしておきましょう。

これで真っ新なNotebookが作成されました！
![スクリーンショット 2016-12-05 10.54.54.png](https://qiita-image-store.s3.amazonaws.com/0/31585/7339f65f-22b5-bba3-0d0d-eccdbd63e0aa.png "スクリーンショット 2016-12-05 10.54.54.png")

試しにPythonコードを実行してみましょう！

```python
hallo = "Hallo Data Scientist!"
print(hallo)
```

作成したNotebookのセルに上記コードを貼り付け実行ボタンを押すと
コードが実行され、結果が出力されます。

![スクリーンショット 2016-12-05 10.57.39.png](https://qiita-image-store.s3.amazonaws.com/0/31585/8474e627-4bab-144d-b83e-077ebb168e8a.png "スクリーンショット 2016-12-05 10.57.39.png")

>セルの実行はShift+Enterでも実行かのうです。

これでData Scienceの準備ができました！！！
以後NotebookやObjectStorage、その他のDataSourceを利用して分析処理などを見ていきます。