読者です 読者をやめる 読者になる 読者になる

sonoshouのまじめなブログ

情報系大学生からのウェブ見習い人生の記録

python 機械学習 環境構築まとめ

pythonを使った機械学習の環境構築まとめです。

  • python   (プログラミング言語
  • pydev    (eclipsepython環境構築プラグイン
  • numpy   (数学関数ライブラリ)
  • scipy    (数値解析ライブラリ)
  • matplotlib (グラフ描画ライブラリ)
  • cvxopt   (最適化計算ライブラリ)

の導入を順に説明していきます。

過去に同系統の記事を書いています。
基本的にはこの記事のみで完結致しますが、
箇所によっては過去記事の方が詳しい場合があります。
わからなくなった場合は過去記事も参照してみて下さい。


<過去記事>
Python インストール
Pydev インストール
matplotlibを使ってグラフを簡単表示 (含Numpy導入)

pythonの導入

Python Japan User's Group
http://www.python.jp

ここからPythonをダウンロードしてインストールすれば完了です。
自分の環境に合ったインストーラをダウンロードしましょう。
特に、64bit PC用と32bit PC用が分かれているので注意して下さい。

インストール方法

1.任意のディレクトリにダウンロード
2.ダウンロードしたファイルを実行。
3.Next> を押していき、インストール完了。

今後のために、PATHを通しておきましょう。
デフォルトでは、
「C:\python27」に「python.exe」がありますので、
「C:\python27」のPATHを通してください。

環境変数設定の詳しい説明は省略致します。外部サイトを参照してください。)


pydevの導入

Pydevとは、統合開発環境Eclipsepythonを動作させるためのプラグインです。
こちらの導入は任意ですが、開発効率やデバッグ効率が向上するため、
Eclipse上のpydevを使った開発を推奨しておきます。


私は日本語化を行ったeclipseを使っていますので、英語版の方は適宜読み直してください。

PyDevのインストール方法

1.Eclipseを起動する。
2.ヘルプ → 新規ソフトウェアのインストール
3.「追加」を押す。
4.名前:PyDev ロケーション:http://pydev.org/updates を入力
5.PyDevにチェックを入れる。
6.「次へ」

以降は流れでソフトウェアをインストールできるでしょう。

インストール後、eclipseの再起動を促されるのでeclipseの再起動を行いましょう。

PyDevの設定方法

1.ウィンドウ → 設定
2.PyDev → インタープリター-Python
3.Python インタープリター画面内右上、「新規」
4.インタープリター名:Python2.7 (任意の名前)
インタープリター実行可能ファイル:C:\Python27\python.exe (PythonがインストールされているPath)
5.「OK」

以上で完了です。

PyDev プロジェクト 作成

1.ファイル → 新規 → プロジェクト
2.PyDev → Pydev Project 「次へ」
3.プロジェクト名:Test (任意の名前)
インタプリター:Python2.7 ※上で指定したインタープリター名。
4.「完了」


あとは通常のプロジェクトと変わりません。
左に作成したプロジェクトが現れるので、srcを右クリックして、新規からPyDev モジュールの作成。
プログラムを入力後、実行からプログラムを実行すれば動きます。
念のためサンプルプログラムを掲載しておきますので、実行確認に使用して下さい。

サンプルプログラム

print "Hello World!!"

numpy + scipy + matplotlib + cvxoptの導入

各公式ホームページより、自分の環境に合ったインストーラをダウンロードし、
インストールをすれば環境構築終了です。

ここでは、公式ではないのですが、
有志がまとめた各ライブラリのインストーラ一覧サイトを紹介します。
つきましては、以下のサイトでダウンロードしたインストーラの使用で
何か問題があった場合は自己責任となることを
予めご了承ください。

Python Extension Packages for Windows - Christoph Gohlke
http://www.lfd.uci.edu/~gohlke/pythonlibs/

インストール方法

各ライブラリ、

  1. インストーラを任意のディレクトリにダウンロード。
  2. 実行する。

以上で簡単にインストールを行えます。


noseについて

noseというプラグインがないために、
以下のようなエラーが出る場合があります。

noseのインストール

Need nose >= 0.10.0 for tests
No module named nose

などというエラーが出たらnoseをダウンロードしましょう。

Installation and quick start nose 1.1.3 documentation
http://readthedocs.org/docs/nose/en/latest/

ページ右のDownload Current version: 1.1.3からダウンロードページへ飛べます。

私の環境(windows)の場合は、

  1. ファイルをダウンロードする
  2. 適当な場所に展開する
  3. 解凍したフォルダ内で、コマンドライン python setup.py install

でインストールできました。

サンプルプログラムの紹介

インストール後は、各ライブラリが正常に導入されたかどうかを確認しましょう。

numpyのサンプルプログラム

行列の加算を行うサンプルプログラムです。

from numpy import *

# 配列の作成
a = array([1,2,3])
b = array([10,11,12])


# 配列の加算 結果:array([11,13,15])
a + b 

出展:ぐうたらの部屋 数学・物理部

scipyのサンプルプログラム

連立1次方程式を解くサンプルプログラムです。
from scipy import *
from scipy.linalg import solve
a = matrix([[1,2],[1,-1]])
b = matrix([[1],[4]])
solve(a,b)

出展:SciPy を使ってみる

matplotlibのサンプルプログラム

グラフを描画するサンプルプログラムです。
# -*- coding: utf-8 -*-

from pylab import *
# -10 から 10 まで 0.1 刻みの配列をつくる (numpy.arange )
x  = arange(-10.0, 10.0, 0.1)
# 関数 numpy.sin : x の各要素に Math.sin を適用して配列オブジェクトを生成
y = sin(x)
# x,y を描画
plot(x,y)
# 描画
show()

出典:Matplotlib サンプル集

cvxoptのサンプルプログラム

最適化問題を解くサンプルプログラムです。
from cvxopt import matrix, solvers
A = matrix([ [-1.0, -1.0, 0.0, 1.0], [1.0, -1.0, -1.0, -2.0] ])
b = matrix([ 1.0, -2.0, 0.0, 4.0 ])
c = matrix([ 2.0, 1.0 ])
sol=solvers.lp(c,A,b)

print(sol['x'])

出展:Solving a linear program