Edited at

今さら聞けない Jupyter notebook


はじめに

Jupyter notebook ご存知ですか? 知ってますよね?

そう、機械学習やらPython周りのイケてるエンジニアが使っているアレです。

自分は全く知りませんでした :expressionless: 

周りのエンジニアとの会話で、「MLとかPythonとか経験値なさすぎて危機感持ってる」的な話の流れで、courseraとか、Jupyter notebookのことを教えてもらいました。


ということで、今回は自分と同じような、「Jupyter notebook is 何?」な方へ、Jupyter notebookについての概要説明から、インストール、ノートブックを動かしてみるところまでの一連の流れを紹介します。

この記事が、自分のような初学者の方のお役に立てば幸いです。



Jupyter notebook is 何 ??



Jupyter

Jupyter notebookを説明する前に、Juypyterプロジェクトについて知っておいたほうがいいでしょう。

スクリーンショット 2018-12-15 14.23.06.png


Jupyterプロジェクトとは、複数の言語にまたがって対話的な処理実行を実現するためのサービスやOSSを開発するためのプロジェクトです。

:octocat: https://github.com/jupyter

:earth_asia: https://jupyter.org/index.html

repos_map.png

上記の図からわかるとおり、Jupyter notebookは、そのJupyterプロジェクトの中の1つになります。



Jupyter notebook

では、Jupyter notebookとは何かと言うと、OSSのWebアプリケーションです。

:notebook_with_decorative_cover: https://github.com/jupyter/notebook

:notepad_spiral: https://jupyter-notebook.readthedocs.io/en/stable/

Jupyter notebookでは、コードを埋め込んだり実行したりできるドキュメントを作成することができます。

スクリーンショット 2018-12-15 14.49.47.png

ドキュメントは、数十の言語をサポートし、簡単に他の人とシェアすることが可能です。

また、企業や研究開発などでは、jupyterhubを使って複数人でノートブックを利用することもできます。



インストールしてみる


インストールは、色んな方法がありますが、公式ではAnacondaを使う方法が推奨されています。

スクリーンショット 2018-12-15 14.53.04.png

:snake: https://www.anaconda.com/


Anacondaとは、データサイエンスをするための便利機能がまるっとPythonごと入っているディストリビューションです。ここに、Jupyter notebookも含まれています

こいつをご自身の環境に合わせてダウンロードして使うのが、もっとも簡単でお手軽でしょう。

自分は、Macなのでここからダウンロードしました。

https://www.anaconda.com/download/#macos

また、Python3系とPython2系のAnacondaがあるのですが、今後を考えてPython3系のものを入れておきましょう。

ダウンロードしたpkgからインストーラーを起動してインストールします。インストールには5分くらい時間がかかりましたが、これでまるっと環境が整いました!



Notebookサーバーを立ち上げる


Terminal やiTerm2などを開いて、コマンドを実行します。

$ jupyter notebook


すると、localhostでNotebookサーバー(Webアプリケーション)が立ち上がり、Notebookダッシュボード(次のような画面)が表示されたらOKです:raised_hands:

スクリーンショット 2018-12-15 15.06.17.png



Notebookを作る


ダッシュボードのNewから、Python 3を選びます。

スクリーンショット 2018-12-15 15.14.55.png


すると、新しいノートブック用に、こんな画面が開きます。

で、テキストボックスにPythonのスクリプトを書いて

スクリーンショット 2018-12-15 15.17.44.png


▶Run ボタンで実行すると、実行結果が画面に表示されればOKです:clap:

スクリーンショット 2018-12-15 15.18.49.png



まとめ


いかがでしたでしょうか? Jupyter notebookについて一通りの流れを紹介しました。

ここまでの説明では、まだまだJupyter notebookの入り口にたったに過ぎませんが、きっと Jupyter notebook についての抵抗は少し減ったかと思います。


知識も必要ですが、継続的に手を動かすことがすごく重要なので、インタラクティブな Jupyter notebook はそういった意味ではとても優れていると感じました。

あとは、実際にどれだけ頭と手を動かせるかですね。

一緒にがんばりましょうー:muscle: