初心者必見!データサイエンスにオススメのJupyter Notebookとは?

AnacondaでAI・機械学習・ディープラーニングを始めよう企画の第二弾!Jupyter Notebookの解説記事です!

第一弾はこちら!

ここから始める!Anacondaで機械学習のためのPythonをインストール!(Windows編)
更新日 : 2019年5月22日

機械学習の勉強や仕事で実験をしたとき、普通のプログラムのように端末エミュレータ(俗に言う”黒い画面”です)でコードを走らせて結果をメモって・・・という流れ、非効率的ですよね。

そんなとき、Jupyter Notebookが便利です。Jupyter Notebookを使うことで、実験コード、メモ、実験結果をひとまとめにすることができます!

この記事では

  • Jupyter Notebookって何?
  • Jupyter Notebookってどうやって使うの?

という基本的なことから

  • 便利なExtensionの導入方法
  • notebookを別のファイル形式に変換

などの発展的な内容についても解説しますよ!初心者必見!この記事を読んでプロの使う開発環境を自分のものにしちゃいましょう!

Jupyter Notebookとは?

jupyter_notebook1

引用元:jupyter https://jupyter.org/

Jupter Notebookはコード、メモ(markdown, raw text)が一緒のファイルに残せるアプリケーションです。コードの実行結果に当たるログやグラフも一緒に残すことができます。

jupyter_notebook3

 

また、HTMLやLaTeX(ラテフ)もmarkdownと一緒に使うことができます。もうなんでもあり。どんな形式の実験結果でも残しておける便利なアプリケーションなんです!

Jupyter Notebookの使い方

jupyter_notebook2

画像:Jupyter NotebookのWeb UI

[この記事を書く際に使っている環境]
  • Windows 10
  • Python 3.6
  • Jupyter 1.0.0

Jupyter Notebookを起動すると、localhost:8888でJupyter NotebookのWeb UIが立ち上がります。Jupyter notebookはWebブラウザで全ての作業を完結させることができるので、どんなOSでも同様の見た目のUIを使うことができます。

jupyter_notebook4

notebookを新規作成するには、右上のNewからNotebookを作りたいプログラミング言語の名前を選択します。素の状態のJupyterであれば、Pythonのみが表示されているはずですので、それをクリックしてください!

jupyter_notebook5

すると、上のような画面に移ります。このIn[]:とある枠をセルと呼び、メモやコードを書き込む場所になります。

スクリーンショット画像の中央あたりに書かれているCodeという表示は、選択しているセルのモードによって

  • Code
  • Markdown
  • Raw NBConvert

と表示が変化しますので、自分が使いたいモードに合わせて変えてから使って下さいね。

コード

Jupyter Notebookでは

  • Python
  • R
  • Julia
  • その他いろいろ

のようなプログラミング言語を使うことができます。

jupyter_notebook6

セルの左側にIn []:と表示されている場合、コードを書き込み実行するためのモードになっています。ここにPythonコードを書いてみましょう。

[In [1]:] ここでは、必要なライブラリをimportしています。先頭の行ではJupyterのマジックコマンドを使っています。

%はその行をマジックコマンドとして認識します。%%はそのセル全体をマジックコマンドとして認識します。

[In [2]:] このセルはランダムウォークのコードになります。最後の行のrandm_workは、この変数の値をnotebookに表示するためのコードです。実際のnotebookでは下のようになります。

jupyter_notebook7

print(変数)としなくても、変数の中身が確認できるのは便利ですね。グラフも表示してみましょう。

[In [3]:] このコードはmatplotlibの関数でrandom_workの中身をグラフにしています。

jupyter_notebook8

この一行で簡単なグラフが作れました。また、%matplotlib notebookというマジックコマンドを使っているので、グラフのサイズを後から変更することもできます。

Markdown

notebookへのメモには、Markdownという簡単なマークアップ言語を使います。Markdownモードのセルを使うには、

  • Markdownを使いたいセルを指定してから、キーボードのMキーを押す
  • 画面上のWidgetsの下の表示をCodeからMarkdownに変更する

jupyter_notebook12

の二通りの方法があります。さて、主要なMarkdownの書き方をまとめました。とりあえずこれだけ、使いこなせると格段に便利になります。

これをnotebookで表示すると、このように文字のスタイルが変更されます。

jupyter_notebook9

notebookの中で章を分けたり、コードの解説を載せたりと様々できますね。

Raw NBConvert

Raw NBConvertモードのセルは、書き込んだ内容がそのまま表示されます。改行やスペースなども書いたままに表示されるので、使い所は多そうですね。

Raw NBConvertモードのセルを使うには、

  • Markdownを使いたいセルを指定してから、キーボードのRキーを押す
  • 画面上のWidgetsの下の表示をCodeからRaw NBConvertに変更する

jupyter_notebook10

などの方法があります。試しに適当な文字をこのセルに書いてみました。

jupyter_notebook11

このように、ハイライトなどは特にされませんが、思ったままの配置で表示する事ができました。

Jupyter Notebookの応用

notebookをPDFなどに変換

notebookはipynbという拡張子のファイルになっています。これをもっと一般的な拡張子のファイルに変換する機能があるので見てみましょう。

jupyter_notebook13

notebookの左上のFile→Download as→変換したいファイルの種類を選択、の流れでファイルを変換することができます。PDFやHTMLなどに変換することができる他、普通のpythonのファイルにも変換できるのでぜひ使ってみてください。

Jupyter Extensions

Jupyter Notebookには、より便利にカスタマイズするためのExtensionが多数あります。AnacondaでJupyterを使っている場合は、Terminalから以下のコマンドを実行することでExtensionを使えるようになります。

それ以外のPythonの場合は、pipコマンドでインストールしましょう。

これによってJupyter Notebookに、Extensionを追加する画面が追加されます。

jupyter_notebook14

この中から好きなExtensionを追加してみてください。この記事の作成時には、Live Markdown Previewを試してみました。

これを使うことで、リアルタイムにMarkdownの結果が反映されます。

まとめ

この記事では、Jupyter Notebookの使い方を紹介しました。Jupyter Notebookはデータサイエンスや機械学習だけでなく、Pythonの勉強やプログラミングの際に非常に便利なツールです。

このツールを使って機械学習やPythonの教材を提供している書籍もたくさんあります。是非モダンな開発環境を使いこなして、Pythonをマスターしてください!

また、PythonやAI・機械学習・ディープラーニングの勉強なら、侍エンジニア塾のマン・ツー・マンレッスンがオススメです。

侍エンジニア塾のマン・ツー・マンレッスンで、仕事の後や家事の合間にプログラミングを勉強してみませんか?ここで紹介したようなツールを使って、インストラクターと一緒に最新のAI技術を習得しちゃいましょう!

未経験者でも安心の徹底サポート!まずは完全無料の体験レッスン!

「プログラミングに興味があるけど未経験だし、、、」とお悩みの方はご安心ください。

  • 24時間質問し放題
  • あなただけのオーダーメイドカリキュラムで学習の効率化
  • 仕事獲得方法からオリジナルアプリ開発方法

侍エンジニア塾では徹底したサポートによる「オーダーメイドカリキュラム」を作成しています。

まずは無料体験レッスンで、「挫折しない学習方法」や「あなただけの学習ロードマップ」を知り、学習の効率化をしましょう。独学の難点である「オリジナルアプリの作り方やエラーの対処法」についてもアドバイスさせていただきます。

詳しいサービス内容は、下記よりご参照ください。

cta_mtm1

LINEで送る
Pocket

書いた人

フクロウ

フクロウ

第一言語はPythonです。
皆さんRustやりましょう。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説