はじめに †
MacでPythonで定番のツールを使ってデータ分析を行う環境を整えます。
以前は、ツールを一つずつインストールしていましたが、今では、AnacondaというパッケージだけでOKです。
この記事の内容は、以下のバージョンで確認しました。
- macOS High Sierra 10.13.5
- Anaconda 5.3 Python 3.7 version
ダウンロード †
Anacondaの公式サイトからPython 3.7 versionをダウンロードします。
インストール †
ダウンロードしたインストーラーを起動します。
インストール先を聞かれます。自分だけで使う場合は「自分専用にインストール」、他のユーザーも使えるようにするには「特定のディスクにインストール」を選びます。
ここでは、ほかのユーザーも使えるように「特定のディスクにインストール」を選択し、ディスクをMacBookのSSD、ディレクトリーを共有ユーザーの /Users/Shared/tools にします(ユーザー → 共有 → tools、toolsがなければ新規作成)。
最後に、MicrosoftのVisual Studioのコードをインストールするかどうかを聞かれます。 ここでは、スキップします。
これでインストールは完了です。
動作確認 †
Jupyter Notebook †
アプリケーションに追加されたAnaconda-Navigator.appを起動します。
![anaconda_navi.png anaconda_navi.png](https://xn--p8ja5bwe1i.jp:443/wiki/?plugin=ref&page=%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%2FPython%E3%81%A7%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90%E3%81%99%E3%82%8B%E3%81%AF%E3%81%98%E3%82%81%E3%81%AE%E4%B8%80%E6%AD%A9%EF%BC%88Mac%E7%B7%A8%EF%BC%89&src=anaconda_navi.png)
Jupiter NotebookのLaunchをクリックします。
すると、ターミナルが起動し、その上でWebサーバーが自動的に起動し、さらにWebブラウザが自動的に起動します。
![jupyter_boot.png jupyter_boot.png](https://xn--p8ja5bwe1i.jp:443/wiki/?plugin=ref&page=%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%2FPython%E3%81%A7%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90%E3%81%99%E3%82%8B%E3%81%AF%E3%81%98%E3%82%81%E3%81%AE%E4%B8%80%E6%AD%A9%EF%BC%88Mac%E7%B7%A8%EF%BC%89&src=jupyter_boot.png)
New から Python 3 を選択します。
![jupyter_new_python.png jupyter_new_python.png](https://xn--p8ja5bwe1i.jp:443/wiki/?plugin=ref&page=%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%2FPython%E3%81%A7%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90%E3%81%99%E3%82%8B%E3%81%AF%E3%81%98%E3%82%81%E3%81%AE%E4%B8%80%E6%AD%A9%EF%BC%88Mac%E7%B7%A8%EF%BC%89&src=jupyter_new_python.png)
すると、新しいノートブックが作成されます。
![jupyter_notebook.png jupyter_notebook.png](https://xn--p8ja5bwe1i.jp:443/wiki/?plugin=ref&page=%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%2FPython%E3%81%A7%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90%E3%81%99%E3%82%8B%E3%81%AF%E3%81%98%E3%82%81%E3%81%AE%E4%B8%80%E6%AD%A9%EF%BC%88Mac%E7%B7%A8%EF%BC%89&src=jupyter_notebook.png)
scikit-learn †
標準で入っているirisデータをSVM (SVC)で学習してみます。
入力ボックスにPython 3のプログラムを入力し、ボタンを押して実行します。
![jupyter_iris.png jupyter_iris.png](https://xn--p8ja5bwe1i.jp:443/wiki/?plugin=ref&page=%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%2FPython%E3%81%A7%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90%E3%81%99%E3%82%8B%E3%81%AF%E3%81%98%E3%82%81%E3%81%AE%E4%B8%80%E6%AD%A9%EF%BC%88Mac%E7%B7%A8%EF%BC%89&src=jupyter_iris.png)
from sklearn import datasets from sklearn.svm import SVC iris = datasets.load_iris() clf = SVC() clf.fit(iris.data, iris.target)
list(clf.predict(iris.data[:3]))
clf.fit(iris.data, iris.target_names[iris.target])
list(clf.predict(iris.data[:3]))
pandas †
pandasの動作を確認するため、irisデータをpandasに入れます。
まずは、irisのデータをそのまま表示してみます。
iris.data
次に、iris.dataをpandasのDataFrameに入れて表示してみます。
import pandas as pd iris.df = pd.DataFrame(iris.data, columns=['sepal_length', 'sepal_width', 'petal_length', 'petal_width']) iris.df
すると、Jupyter Notebookに表形式で出力されます。
![jupyter_pandas.png jupyter_pandas.png](https://xn--p8ja5bwe1i.jp:443/wiki/?plugin=ref&page=%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%2FPython%E3%81%A7%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90%E3%81%99%E3%82%8B%E3%81%AF%E3%81%98%E3%82%81%E3%81%AE%E4%B8%80%E6%AD%A9%EF%BC%88Mac%E7%B7%A8%EF%BC%89&src=jupyter_pandas.png)
matplotlib †
最後に、scikit-learnで学習した結果をmatplotlibを使って、可視化してみます。
まず、pandasのDataFrameに予測結果を追加します。
iris.df['predict'] = clf.predict(iris.data) iris.df
次に、予測結果がsetosaのもの、versicolorのもの、virginicaのものに分けます。
x1 = iris.df[iris.df.predict == 'setosa']['sepal_length'] y1 = iris.df[iris.df.predict == 'setosa']['sepal_width'] x2 = iris.df[iris.df.predict == 'versicolor']['sepal_length'] y2 = iris.df[iris.df.predict == 'versicolor']['sepal_width'] x3 = iris.df[iris.df.predict == 'virginica']['sepal_length'] y3 = iris.df[iris.df.predict == 'virginica']['sepal_width']
これをmatplotlibで表示します。
%matplotlib notebook import matplotlib.pyplot as plt fig = plt.figure() subplt = fig.add_subplot(1, 1, 1) subplt.scatter(x1, y1, c='red') subplt.scatter(x2, y2, c='green') subplt.scatter(x3, y3, c='blue')
すると、こんな感じになります。
![jupyter_matplotlib.png jupyter_matplotlib.png](https://xn--p8ja5bwe1i.jp:443/wiki/?plugin=ref&page=%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%2FPython%E3%81%A7%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90%E3%81%99%E3%82%8B%E3%81%AF%E3%81%98%E3%82%81%E3%81%AE%E4%B8%80%E6%AD%A9%EF%BC%88Mac%E7%B7%A8%EF%BC%89&src=jupyter_matplotlib.png)
終わり方 †
Jupyter Notebookが動いているターミナルをアクティブにして、control+C でサーバーのプロセスを終了します。
Anaconda Navigatorを終了します。