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

フクロウ
書いた人 フクロウ

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

第一弾はこちら!

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

そんなとき、Jupyter Notebookが便利です。

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

この記事では

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

という基本的なことから

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

などの発展的な内容についても解説しますよ!

初心者必見!この記事を読んでプロの使う開発環境を自分のものにしちゃいましょう!

Jupyter Notebookとは?

jupyter_notebook1

[引用:http://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では

  1. Python
  2. R
  3. Julia
  4. その他いろいろ

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

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技術を習得しちゃいましょう!

おすすめのコンテンツ

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

「何の言語から勉強すればいいかわからない・・・」そんなあなたに質問に答えていくだけで、何の言語を学べば良いのか診断いたします!未経験から6ヶ月でプログラミング習得に向けた学習プランが1分で分かる!

最短でプログラミングを習得したい方へ

元々ITリテラシーのある方やプログラムの学び方がわかっている方は独学で習得することも可能でしょう。

ただし、実際の学習期間中はつまづいている時間がほとんどです。

「もう挫折したくない」
「本業と両立しながら、好きな時間で自分のペースで勉強を続けていきたい。」
「自分だけのカリキュラムで効率的に勉強したい」

そんな方はお気軽に侍エンジニア塾までご相談ください。

弊社では、

  • プログラミング基礎学習
  • オリジナルアプリ開発
  • 仕事獲得

までをひと通り学習できます。

まずは無料体験レッスンで、弊社のコンサルタントと一緒にあなた専用の学習方法やカリキュラムを考えてみませんか?

挫折しない学び方や、通常1000時間以上かかる学習時間を1/3にする方法などより具体的なアドバイスもさせていただいています。

詳しくは下の画像をクリックして弊社サービス内容をご確認ください。

cta1

非常識な結果を出す卒業生多数!

エンジニアキャリア戦略

人気記事セレクション

3000名以上来場の人気セミナーが開催決定

18歳で時給6000円だった侍エンジニア塾代表の木内より、『プログラミングで人生を変える』ための学習方法をお教えます。

0からプログラミングを習得し、フリーランスエンジニアになる方法プログラミング学習の効率を劇的に上げる学習メソッドを解説しますので、奮ってご参加ください。

  • 日付:3/30(日)
  • 時間:14:00〜17:00終了予定
  • 場所:当社 道玄坂オフィス
  • 住所:〒150-0043 東京都渋谷区道玄坂2丁目11-1 Gスクエア渋谷道玄坂 4F *Googleマップでは「東京都渋谷区道玄坂2丁目11-1」で検索してください。近隣にスクエア渋谷という別のビルがあるためご留意ください。
  • 参加費:無料
  • URL:https://seminar.sejuku.net/
詳しくは下の画像をクリックして弊社セミナー内容をご確認ください。

LINEで送る
Pocket

この記事が気に入ったら
いいね!をしてフォローしよう

最新情報をお届けします

書いた人

フクロウ

フクロウ

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