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

フクロウ
書いた人 フクロウ
侍エンジニア塾ブログは、未経験からWebアプリ開発と仕事獲得をサポートする
侍エンジニア塾のオウンドメディアです。
プログラミング学習を覗き見

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


33歳、未経験だった僕がフリーエンジニアになれた理由
現在フリーランスをされている市川友哉さん。33歳で、プログラミングを学び始め、4ヶ月という短い期間でフリーランスエンジニアとして独立までされた学習ログを余すことなくインタビューさせていただきました。

プログラミングを学習中の方はもちろん、独立をお考えの方まで幅広く活用できる記事になっています。この機会に是非活用していただければと思います。


現役フリーランスエンジニアによる無料体験レッスン実施中!

もし、あなたが、

  • 経験、年齢、学歴に不安がある
  • 挫折しない学習方法が知りたい
  • アプリ開発で困っている
  • エンジニアの”生”の声が聞きたい!
  • 仕事獲得の仕方がわからない
  • エンジニアに転職したいが何をすればいいかわからない

など、プログラミング学習やキャリアのことでお困りであれば、まずは『無料体験レッスン』にお申し込み下さい。

あなたにとって、最適の解決策をご提案させていただきます。

詳しくは下の画像から詳しいサービス内容をご確認ください。

cta_mtm3

非常識な結果を出した卒業生

活躍する現役エンジニア

人気記事セレクション

LINEで送る
Pocket

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

最新情報をお届けします

書いた人

フクロウ

フクロウ

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