【Jupyter Notebook】効果的な使い方を知ろう[Python/機械学習]

# **最初に**
本日は機械学習を行う上で必要となるツール（ Jupyter Notebook ）に焦点を当てて進めていきます。
こちらのツールの使い方に慣れておくことが（その他使いやすいものがあればそちらで構いません）、機械学習をはじめるにあたっての導入となりますのでこの期に学んでいきましょう。

# **Jupyter notebookとは**
jupyter notebookとはブラウザ上で実行し、**実行結果を記録しながら**プログラミングを進めるためのツールです。データ分析の現場や、研究機関などでも頻繁に使われています。

* 主要なPythonの開発環境としてIDE（総合開発環境）やエディタ、ノートブックなどがあります。
データ分析の用途で用いられる主要なIDEとして「PyCharm」や「Rodeo」などがありますが、IDEとノートブックにはそれぞれ向き、不向きがあります。ノートブック型の利点として、**個別のアドホック型分析（市場調査やビックデータ処理の際に用いられる分析手法）や学習目的での利用の際**に、過去に試した設定値やロジックを振り返って確認できる、ということがあります。

#### **アドホック型分析の特徴**
定期的に行われるデータ分析や、項目も内容も決まっているデータ分析と違って、その都度単発的に行われます。
また、データ分析には「調査の設計、対象者の選択、調査、集計、分析」といった過程が必要ですが、それら何れもが1回簡潔で行われます。

## **Jupyter Notebook を起動する**

```
$ jupyter notebook
```
jupyter notebookはAnacondaを利用してPythonをインストールした場合、同時にインストールされています。
Anacondaをインストールされてない方は、下記記事にインストール方法をまとめておりますのでご参考ください。
[環境構築の真髄(PATHなどの概念)を理解しよう[python編]](https://qiita.com/takuyanin/items/2f432e90462484cb03a2)

## **Jupyter Notebook の基本的な使い方**

<img width="1407" alt="Home.png" src="https://qiita-image-store.s3.amazonaws.com/0/269862/ee99a1c4-369e-af3c-3b0d-cd70d58c3419.png">

Jupyter Notebook を起動後、ノートブックを作成したいフォルダ階層で、「New」ボタン => 「Python3」を選択し、ノートブックを作成します。

以下のように、セルと呼ばれるスペースにPythonのコードを入力し実行することができます。

<img width="1263" alt="Untitled.png" src="https://qiita-image-store.s3.amazonaws.com/0/269862/c4b09151-e8db-b66a-bbba-701be031326b.png">

実行、編集、削除、保存などは頻繁に行う操作となるため、ここで押さえておきましょう。

- セル内のプログラムを実行： Ctrl + Enter
- 下にセルを追加：　Shift + Enter
- セルを再度編集可能にする：　セルをダブルクリック
- セルの削除：　セルを選択、escキー、キーボードのDを2回押す
- Notebookの保存：　command + s(右上にcheckpoint createdと表示される)

次に簡単に、Pythonのライブラリを使ったり、、Markdown形式で記述することにより、Notebookの使い方に慣れていきましょう。
次回以降各種ライブラリなどの使い方などについて触れていきますので、今回はわからないところがあっても問題ございません。

**Pandas のデータフレームは、テーブルとして出力できます。**

```pandas.py
import pandas as pd
pd.DataFrame([[1, "abc"], [2, "def"]], columns=("id", "name"))
```

<img width="1262" alt="Untitled.png" src="https://qiita-image-store.s3.amazonaws.com/0/269862/28036d94-f833-1301-c792-2e6b3230f5b6.png">

**Matplotlib で出力したグラフをノートブック内に表示させることも可能です。**
先頭に、`%matplotlib inline`という行を記載する必要があります。

```matplotlib.py
%matplotlib inline

import numpy as np
import matplotlib.pyplot as plt

N = 10
x = np.random.rand(N)
y = np.random.rand(N)

plt.scatter(x, y)
plt.show()
```

<img width="1264" alt="Untitled.png" src="https://qiita-image-store.s3.amazonaws.com/0/269862/ed17571d-415f-ef9f-9510-1a1837687404.png">

**各種テキストを Markdown 形式でメモとして残すことが可能です。**

```text.md
# 見出し1
## 見出し2

### 箇条書きの例
------

* 箇条書き1
* 箇条書き2

### 等幅フォント
------
コード `code` を等幅で記載することができます

### リンク
------
https://qiita.com/takuyanin
[TakuyaninのQiita](https://qiita.com/takuyanin)
```

 <img width="1262" alt="Untitled.png" src="https://qiita-image-store.s3.amazonaws.com/0/269862/0f6bc83a-26be-6195-f972-e6a31cc36a02.png">

### **Jupyter Notebook の便利な使い方**

Jupyter Notebook には、たくさんの便利な機能が用意されておりますが、そのうちのエクスポート機能というものを今回はご紹介します。

**エクスポート機能**
jupyter のノートブックは.ipynb 形式のファイルとして保存し、他の　PC　で開くこともできますが、Jupyter　を利用していない方には PDF や HTML　形式でエクスポートとして共有することが可能です。また、Python のソースコード部分のみを実行可能な .py ファイルとして出力することもできます。

<img width="1262" alt="Untitled.png" src="https://qiita-image-store.s3.amazonaws.com/0/269862/5c7114ac-f444-fe6d-a7ba-6972bd352f1d.png">

# **Python学習関連記事**
[環境構築の真髄(PATHなどの概念)を理解しよう[python編]](https://qiita.com/takuyanin/items/2f432e90462484cb03a2)


#**終わりに**
これでツールの使い方は以上となります。、次回以降、Pythonライブラリなどをひとつひとつ学んでいくことによって、機械学習の基礎を身につけていきましょう。