こんにちは。やましー@データ活用クラウドエンジニア(@yamashi18041) です。
今日はAzureでJupyter Notebookがかなり簡単に、しかも無料で扱えることが分かったのでその方法を記事にしました。
題材としてTwitterで使われた単語を↓の図のように視覚化してみます。

通常はJupyter Notebookを使うにはマシンにインストールが必要になると思います。
試してみたいと思ってもそのインストールが障壁となって試せていなかった人も多いのではないでしょうか?
しかし、 Azure Notebook使うことで、インストール不要でブラウザ上で Jupyter Notebookをサクッと試してみることができます。
今やJupyter Notebookはデータ分析には必須といってもいいツールなので、サクッと無料で使えるのは非常に魅力的でした。
私はデータ分析官ではなく、データ活用のためデータ基盤をクラウド(Azure)で作っています。
なので、基本的にはインフラ専門でIaaSでネットワークやサーバーを立てたり、PaaSでBlobストレージやAzure Synapse Analytics(旧 Azure SQL Data Warehouse)を構築しているのですが、ちょっとくらいはデータを扱ってマシンラーニングなどを扱えるようになっておこうと思い触ってみることにしました。
この記事を読んで私と共にデータ分析ができるSEへの第一歩を踏み出しましょう。
この記事は以下の読者を想定しています。
- Jupyter Notebookを使ってみたい。
- SEだけどデータ分析に興味がある。
逆に以下の読者の期待にそうことはできません。
- Jupyter NotebookをPCにインストールする方法が知りたい。
- データ分析の具体てき手法について知りたい
それではまず、 Jupyter Notebook、Azure Notebookについて軽く説明から入りたいと思います。
Jupyter Notebookとは

Jupyter Notebook(ジュピターノートブック、ジュパイターノートブック)とは「様々な言語」のプログラムコードを「実行」し、「その結果を残して」、「仲間と共有」、インタフェースは「WEBブラウザ」で「対話的」に行うことができるツールです。
今やデータサイエンティストや機械学習エンジニアにとっては欠かせないツールとなっています。
ちなみにもともとIPython NotebookというPython専用の実行環境を他の言語も使えるようにしてできたようです。
Jupyterの語源は「Julia」「Python」 「R」からとのこと。
Azure Notebookとは
Azure NotebookとはMicrosoft Azure が提供するクラウド上のサービスで、Webブラウザを通じてJupyter Notebookを扱うことができます。
ただし2020年2月3日時点ではプレビュー段階なので業務システムに組み込むことは避けた方がよさそうです。
Azure NotebookにはJupyter Notebookに加えて以下の特徴があります。
- 利用料金が無料
- インストール不要ですぐ使える。
- 対応言語は Python 2、Python 3、R、F#
- 実行環境はメモリ4GB、データ保存領域1GBの仮想マシン
- 実行環境にはサブスクリプションの仮想マシン(DSVM)も使える
- クラウドなのでシェアが簡単
- デバッグ機能はないのでデバッグはVisual Studio Codeを使う
- Linuxのコマンドが実行できる
- Microsoftアカウントが必要。
ちなみにAWSでは「SageMaker」で、GCPでは「Cloud Datalab」で、Jupyterが使えます。
それでは実際にAzure Notebookを使ってみたいと思います。
Azure Notebookにサインインする

Azure Notebookを使うにはMicrosoftアカウントが必要です。
もしまだMicrosoftアカウントお持ちではない方は作成してください。2分でできますので。
まずはAzure Notebookにアクセスして右上の「Sign In」を選択しサインインを行います。


サインインが完了するとマイページが表示されます。

次にプロジェクトを作成します。
プロジェクトを作成する
ノートブックを使用するためにそのワークスペースとなるプロジェクトを作成していきます。
このプロジェクトの単位で仮想マシン(メモリ4GB、ディスク1GBのマネージドVMまたはDSVM)が割り当てられます。

「My Projects」を選択します。

「+New Project」を選択し、プロジェクトを作成します。

①Project Name:「TestPj01」任意のプロジェクト名を設定します。
②Project ID:「testpj01」プロジェクトIDはProject名と同じ文字列が自動で入力されますが、任意の文字列にすることもできます。公開する場合この文字列のURLでアクセスが可能になります。
③Public:「チェックなし」今回は公開しないのでチェックを外しました。後から設定変更可能です。
④Initialize this project with a README:「チェックあり」プロジェクト作成後、空のREADME.mdファイルが作成されます。今回は使用しませんがデフォルトでチェックが付いているのでそのままとしました。
⑤「Create」を選択して、作成します。

プロジェクトが作成されました。次はNotebookを作成します。
Notebookを作成する
新たに新規にNotebookを作る方法と、すでにあるNotebookをインポートするやり方があります。
今回はデモ用にすでにあるをノートブックをインポートしてみます。
Notebookをインポートして作成する
まず、インポートする元のファイル(ipynb)を用意します。
以下のサイトにアクセスします。(MSが公開しているNotebook)


「Download」を選択してファイルを保存してください。

①プロジェクトの画面の右側の「↑」を選択します。
②「From Computer」を選択します。

「Choose files」を選択し、先ほどダウンロードしたファイルを追加します。

「Upload」を選択します。

Uploadが完了したら、「Done」を選択します。

Notebookが追加されました。
Notebookを新規に作成する
ついでに新規作成の方法も載せておきます。

①「+」を選択すると以下のプルダウンが表示されます。
- Notebook
- Folder
- Blank File
- Markdown
②プルダウンから「Notebook」を選択します。

①Notebook Name:Notebookの名前を決めます。
今回は「demoNotebook01.ipynb」としました。拡張子は勝手に付与されます。
②Select Langage:使いたい言語を以下の中(2019/2/3時点)から選択します。
今回は「Python 3.6」を選択しました。
- Python 2.7
- Python 3.5
- Python 3.6
- R
- F#
③「New」を選択して、作成します。

Notebookを実行する

作成したNotebokを選択します。

Jupyter Notebookは各セルの中に、コードやコメントを書いていきます。
①マークダウン形式でコメントが記述されています。
②実行するコードをがかかれています。こちらはサンプルデータのダウンロードですね。
③実行した結果が表示されます。結果の共有がNotebookの一つの特徴でしたが、このように実行結果が記録されます。
では実際に実行し見てます。

①実行するセルにカーソルを合わせます。
②「Run」を選択します。ここではCSVをCURLによってダウンロードするコマンドなので実際にダウンロードされたか見てみます。

プロジェクトへ戻ってファイルの一覧を見ると確かにcsvファイルがありました。

lsコマンドでも確認ができます。
こんな感じでざっと処理を実行していきます。


作成した図がこちら。
処理の詳しい内容については、気が向いたら解説してみたいと思います。
まとめ

今回は機械学習がデータ分析には欠かせないツールJupyter NotebookをAzureのSaaSであるAzureNotebookの始め方について解説しました。
使い方は簡単でAzure Notebookにアクセスし、サインインすることで使い始めることができました。
Notebookの作成の方法についてはUploadと新規作成の解説をしました。
Notebookはセルにカーソルを合わせて実行をポチポチ押すだけで簡単実行でした。
こんな感じでお手軽簡単にNotebookがつかえるので、是非有効活用してみてください。
最後まで読んでいただきありがとうございました。
以上、やましー@データ活用クラウドエンジニア(@yamashi18041)でした。