機械学習を入門し始めたが....
機械学習に必要な科学技術向けPythonライブラリが多いのでそれをまとめました。
環境
MacOS
機械学習系の開発に関しては、Jupyter NoteBookがおすすめです。
Pandasで表を出したり、Matplotlibでグラフを出したりするのが楽です。
Jupyterのショートカット
を参考にしていただきたいのですが、「編集モード」と「コマンドモード」があって、Vimのようですね!
Jupter Notebookのインストール
pipからインストール
Python3なら
python3 -m pip install --upgrade pip
python3 -m pip install jupyter
Python2なら
python -m pip install --upgrade pip
python -m pip install jupyter
そして
$jupyter notebook
で、Jupyter Notebook のサーバーを立ててください。
そして、http://localhost:8888/ にアクセスしましょう。
こんな画面になります。
Newのボタンを押してPython2を選択してください。
このような画面になります。
この一つの塊をセルといい、プログラムを書いていきます。
機械学習入門に必要なPythonのライブラリ
Numpy
インストール
$sudo pip install numpy
多次元配列を作ったり、それを操作したりするすごいライブラリ。
Numpy配列を作ってみる!!
import numpy as np
x = np.array([[1,2,3],[4,5,6]])
print("x:\n{}".format(x))
SciPy
Pythonで科学技術計算を行うための関数を集めたもの。
SciPyは疎行列を作るのによく用いられるそうです。
配列の中身がほぼ0である疎行列は、機械学習でよく使われます。
その、疎行列を作ってみましょう。
from scipy import sparse
eye = np.eye(4)
print("Numpy array :\n{}".format(eye))
Matplotlib
グラフ描画ライブラリ。データを折れ線グラフ、ヒストグラムなど様々な形のグラフで表現できる。
サイン関数のグラフを描写してみる!!
%matplotlib inline
import matplotlib.pyplot as plt
x = np.linspace(-10,10,100)
y = np.sin(x)
plt.plot(x,y,marker="x")
Pandas
データを変換したり解析したりするライブラリ。テーブル(表)のようなデータ構造を中心に構成されている。
SQLのような問い合わせを行ったりできる。
テーブルを出力してみよう
import pandas as pd
from IPython.display import display
data = {"Name":["a","b","c","d"],
"location":["s","sa","ssa","sssa"],
"age":[11,33,22,44]
}
data_pandas = pd.DataFrame(data)
display(data_pandas)
この内容はこのファイルにまとめられています。
https://github.com/amueller/introduction_to_ml_with_python/blob/master/01-introduction.ipynb
ここでは紹介した程度ですが、一通り、Pythonのライブラリ を入門したので、やっと機械学習の勉強ができます。
頑張るぞぉぉ