教師なし学習の第一歩(クラスタリング)|Pythonで機械学習vol.6
- Python
- 機械学習
notari株式会社
機械学習のプログラミングをするにあたってjupyter(旧 iPython)というサービスを利用します。簡単に説明するとWebブラウザ上にて、Markdownおよび任意の言語(今回使用するのはPython)の記述・実行・表示が行えるものです。
どうしてjupyterを使うのか深く知りたい方は”jupyter メリット”などで検索してみてください。そして、さらに今回はこのjupyter環境の構築やPythonのインストールなどを一括でしてくれるanacondaというツールを利用します。
インストールは至って簡単で、こちらのURLからダウンロードするだけです。特別な理由がない限りは、お使いのOSに合ったPython3のインストーラーを取得してください。CUIでの操作の方が好きという方以外は、Graphical Installerのダウンロードをおすすめします。
また、インストール時に問題が発生した場合に参考になる記事のリンクを添付しておきます。(個人的にはzsh環境のため、2つ目の記事を見つけるまでどハマりしてました、、)
▼ Macに入れた各種Pythonを全部アンインストールしてAnacondaを入れなおす
http://statsbeginner.hatenablog.com/entry/2015/11/05/020521
▼ zsh環境だとpython anacondaがうごかなくてハマった
http://ts-engine.net/wp/archives/1068
▼ Condaの使い方メモ(Mac OS用)
http://qiita.com/showsuzu/items/e2fddf22f725f4d2ab8c
インストールが完了したら、早速jupyterを起動してみましょう。
Macの場合はターミナルを、Windowsの場合はコマンドプロンプトを起動し、適当なディレクトリで以下のコマンドを入力します。(私の場合は、ホームディレクトリの下にtechclipsというフォルダを作成し、そこでjupyterを起動しています)
jupyter notebook
すると下のようにWebブラウザ上でjupyterが起動しているのが確認できるかと思います。
ここでは何も表示されていませんが、jupyterを起動したディレクトリにファイルやフォルダが存在する場合は、それらが表示されているかと思います。
では早速、新規ファイルを作成しましょう。
右上”New”のボタンをクリックすると使用したい言語が表示されますのでPythonを選択すると、下のようなファイル編集画面が表示されます。これがこれから実際にPythonのプログラミングを書いていく編集画面です。
In[ ]:と書かれたラインに命令を書いて、Shift + Enterで実行します。例えば 2 + 2 とライン内に記述し実行をしてみましょう。
すると 4 という表示が返ってくるのがわかるかと思います。
同様に print(“test”) と入力して実行すると test が出力されるのがわかるかと思います。
ここではjupyterの使い方だけ説明し、Pythonの基本的な書き方などは詳しく触れませんのでドットインストールやProgateなど無料学習サービスを利用して各自Pythonを勉強してみてください。
▼ Python3 入門(ドットインストール)
http://dotinstall.com/lessons/basic_python_v3
▼ Python レッスン(Progate)
https://prog-8.com/languages/python
ファイルを保存したい場合は、左上にあるフロッピーディスクのマークをクリックすると保存できます。また、ファイル名がデフォルトだと”Untitled”になっているので、jupyterと書いてあるロゴの右にあるタイトル欄から適宜編集してください。
編集が終わって閉じる場合は、タブを閉じるだけでは完全に終了することが出来ませんので、下のようにトップページのRunningタブから、該当ファイルをShutdownするようにしてください。
また、jupyter自体をシャットダウンする場合は、ターミナル(またなコマンドプロンプト)に戻って control + c を押すと本当にシャットダウンするか聞かれるので、y と入力すると完全にシャットダウンすることが出来ます。
機械学習をプログラミングするにあたって、多次元の計算を繰り返し行うことになります。そこで頻繁に使うのが多次元配列や行列を操作するための数学関数を提供してくれるNumPyというライブラリです。
anacondaを利用している場合、デフォルトでNumPyのような多くの外部ライブラリが組み込まれているため、別途インストール作業は必要ありません。
そしてNumPyを利用する場合は、下のコマンドでインポートする必要があります。(通常NumPyを利用する場合は、asの後ろは np としてわかりやすくしておきます)
import numpy as np
では実際にNumPyを使って、様々なアレイ(配列)を作成・操作してみましょう。下がNumPyの基礎的な機能を利用してみた画像です。
ぜひ実際にご自身でも上記を参考に自由にNumPyを触ってみてください。また、下にNumpyに関する完全なドキュメントがあるURLを載せておきますので適宜ご参照ください。
http://docs.scipy.org/doc/numpy/reference/
今回は機械学習をプログラミングをするにあたって、jupyterというPythonの実行環境の構築から、実際に多次元配列を扱えるライブラリであるNumPyを使うところまでをご紹介しました。
本シリーズでは、機械学習のプログラミングをするというのを目的としているため、Pythonの基礎知識や、行列の基礎知識を身につけることついては詳しく解説はしていません。これらの理解を深めたい場合は各自で勉強して身につけてくださいね。
次回はシリーズ第2弾として、教師あり学習の第一歩、線形回帰を解いてみます。今後もお楽しみに!
【第2回はこちら】
教師あり学習の第一歩、線形回帰を解いてみる|Pythonで機械学習vol.2