ステージ1: 環境構築 (情報工学実験 3 : データマイニング班)
目次- 想定環境
- 機械学習パッケージのインストール
- Mercurialの設定
- Python開発環境の設定
- 自然言語処理パッケージのインストール
- emacs elisp (for emacs user)
vimな人は似たようなプラグイン(neocomplacacheというのがあるらしい)を探して入れてみよう。少なくとも(a)自動補完機能は自前で追加すること、(b)Pythonスクリプト編集時のインデントは4スペースに設定すること。Aptana Studioな人は必要ありません。プログラミングには少なくともインデントや自動補完に対応できるエディタが必要でしょう。
- (Python追加) NLTK, prettyprintのインストール
- 想定環境
- OS: Mac OS X 10.8.x (10.7.x以降であれば同じ方法で問題無いはず)
- Xcode: 5.0 (MacOSX10.8.sdk)
- Python: 2.7.x
- Mercurial: 2.2
- MacPorts: 2.2.0 (2013-10-06時点)
主に自然言語処理用ライブラリ(mecab, python-mecab)のインストールのために利用。関連パッケージ込みで400MB程度。homebrew等でも構わない。
- 機械学習パッケージのインストール
- Scipy Superpack(Numpy, Scipy用)のインストール
prompt> curl -o install_superpack.sh "https://raw.github.com/fonnesbeck/ScipySuperpack/master/install_superpack.sh" prompt> sudo sh ./install_superpack.sh # この時点でscikit-learnもインストールされてるかも。 # 以下、動作確認方法。 # ターミナルからpythonを起動し、numpy/scipy/matplotlib/sklearnをロードし、 # エラーが出なければOK。 prompt> python >>> import numpy >>> numpy.__version__ '1.9.0.dev-fde3dee' >>> import scipy >>> scipy.__version__ '0.14.0.dev-4938da3' >>> import matplotlib >>> matplotlib.__version__ '1.3.0' >>> import sklearn >>> sklearn.__version__ '0.14.1'
- pip(パッケージ管理ツール)のインストール
prompt> sudo easy_install pip
- sci-kit-learn(機械学習パッケージ)のインストール
# 上記のinstall_superpack.sh実行時でsklearnまでインストールが終了 # しているなら、この手順は不要。 prompt> sudo pip install -U scikit-learn
- Scipy Superpack(Numpy, Scipy用)のインストール
- Mercurialの設定(既に.hgrc設定している人は不要)
- ~/.hgrcのサンプル: hgrc-sample
- 上記サンプルをダウンロードし、usernameを自分用に修正。
- 編集したファイルを ~/.hgrc としてファイル名を変更し、ホームディレクトリに保存。
- ~/.hgignoreのサンプル: hgignore-sample
emacsで編集するとデフォルトで作成される「更新前のファイル(*.~)」等、hgでバージョン管理する際には不要なファイルを除外するための設定を書いた例。そのまま利用するなら、ダウンロードしたファイルを ~/.hgignore として保存してください。
- ~/.hgrcのサンプル: hgrc-sample
- Python開発環境の設定
- 環境変数PYTHONSTARTUPの設定(~/.zshrc)
export PYTHONSTARTUP=~/.pystartup # 設定終了後にsourceコマンドで設定を反映させること。
- ~/.pystartupの設定例: pystartup-sample
prompt> wget http://www.eva.ie.u-ryukyu.ac.jp/~tnal/2013/info4/dm/pystartup.sample prompt> mv pystartup.sample ~/.pystartup
- Pythonスクリプトを書く際のお約束
#!/usr/bin/env python # -*- coding: utf-8 -*-
- 好みに応じてAptana Studio (デバッグ便利)
- 環境変数PYTHONSTARTUPの設定(~/.zshrc)
- 自然言語処理用パッケージのインストール
- MacPortsのインストール
- 環境変数PATH,MANPATHの設定(~/.zshrc)
export PATH=/opt/local/bin:/opt/local/sbin:$PATH export MANPATH=/opt/local/man:$MANPATH
- MacPortsの動作確認
prompt> port -v # 既にインストール済みで、 # バージョンが古い場合には最新版に更新すること(selfupdate)。 prompt> sudo port selfupdate
- MeCab(形態素解析器)と辞書のインストール
prompt> sudo port install mecab prompt> sudo port install mecab-naist-jdic-utf8 # このままだと /opt/local/lib/mecab/dic/ がeuc参照してるので変更。 prompt> cd /opt/local/lib/mecab/dic/ prompt> sudo ln -snf naist-jdic-utf8 sysdic
- MeCabの動作確認
prompt> mecab 適当に日本語テキストを入力してみる # mecabコマンドを実行すると入力待ちになるため、 # 適当に日本語テキストを入力してから改行すると解析結果が出力される。 # このとき文字化けしなければOK。
- mecab-python(Pythonバインディング)をインストール
# mecab-python 最新版(mecab-python-0.996.tar.gz)をダウンロード。 prompt> tar xvfz mecab-python-0.996.tar.gz prompt> cd mecab-python-0.996 prompt> python setup.py build prompt> sudo python setup.py install
- pythonを起動してインタラクティブ・モードでmecab-pythonの動作確認
import MeCab mecab = MeCab.Tagger('-Ochasen') sent = u"日本語を適当に入力してみる".encode('utf-8') print mecab.parse(sent) # 解析結果が文字化けせずに出力されるならOK。
- emacs elisp(elispインストール支援, 自動補完)のインストール。(vimな人は似たようなプラグインを探して入れてみよう。Aptana Studioな人は必要ありません。プログラミングには少なくともインデントや自動補完に対応できるエディタが必要でしょう。)
- elisp を保存するためのディレクトリを用意。
mkdir ~/.emacs.d/elisp
- elisp のインストールを支援するツール auto-install.el をインストール。「begin」や「end」はエディタで編集追加する範囲を明記しているだけで、begin/end行そのものを追加する必要はありません。
prompt> cd ~/.emacs.d/elisp/ prompt> wget http://www.emacswiki.org/emacs/download/auto-install.el prompt> emacs ~/.emacs ====begin==== ;;; emacs lisp を保存しているディレクトリの設定 (setq load-path (cons "~/.emacs.d/elisp" load-path)) ;;; auto-install.el 用の設定 (require 'auto-install) (setq auto-install-directory "~/.emacs.d/elisp/") (auto-install-update-emacswiki-package-name t) (auto-install-compatibility-setup) ; 互換性確保 ====end==== # *auto-install.el は、emacs起動時に毎回 emacswiki にアクセスしようとするので、 # 通常作業時は邪魔だと感じるなら普段はコメントアウトしておき、 # auto-install を使いたい時だけコメントを外すようにすると良いでしょう。
- auto-install.el を利用して、自動補完ツール auto-complete.el をインストールする。
prompt> emacs ====begin==== Esc-x, install-elisp-from-emacswiki [リターンキー] # 頭の[Esc-x]は「Escを一度押して、離してからxを入力」する動作。 # その後 [M-x] と切り替わるはずなので、install以降を入力してください。 auto-complete.el [リターンキー] *後は画面下の指示通りに進め、インストール確認になったら C-c, C-c。 ====end====
- auto-complete.el をデフォルトで起動するようにする。
prompt> emacs ~/.emacs ====begin==== ;;; auto-complete.el 用の設定 (require 'auto-complete) (global-auto-complete-mode t) ====end====
- 適当なファイルを開いて auto-complete.el の動作確認。
# 例えば、test.py という空のpythonスクリプトを作成し、 # import sys # を入力する。その後、もう一度"i"だけ入力した時点で # 「iから始まるキーワード一覧」が候補として示されれたらOK。
- org-babelの設定を流用し、Pythomスクリプト(.py)編集中のインデント設定(インデントを半角スペース4つに設定)。
prompt> emacs ~/.emacs ====begin==== (setq load-path (cons "/usr/local/share/emacs/site-lisp" load-path)) (require 'org-install) (org-babel-do-load-languages 'org-babel-load-languages '((R . t) (ruby . t) (python . t) (sh . t) (dot . t) (emacs-lisp . nil) )) ====end====
- elisp を保存するためのディレクトリを用意。
- (Python追加) NLTK, prettyprintのインストール
prompt> sudo pip install nltk prompt> sudo pip install prettyprint
- 動作確認
prompt> python >>> import nltk >>> nltk.__version__ '2.0.4'
- OS: Mac OS X 10.8.x
- Python: 2.7.2
- Mercurial: 2.2
- Numpy: 1.9.0
- Scipy: 0.14.0
- matplotlib: 1.3.0
- scikit-learn: 0.14.1
- NLTK: 2.0.4