Debian 7 wheezy に Python 用の機械学習ライブラリ scikit-learn をインストールする手順をまとめます. scikit-learn は numpy や scipy に依存するため, インストール手順が少し複雑になります.
テスト環境
- Debian 7.6 wheezy
- numpy 1.8.1
- scipy 0.14.0
- scikit-learn 0.15.0
事前準備
Python や GCC, Fortran などの scikit-learn をインストールするために必要なライブラリを apt でインストールします.
virtualenv については apt でインストールしたものでも, pip 等でインストールしたものでも構いません.
numpy, scipy, scikit-learn については最新のものを利用するために, pip でインストールします.
sudo aptitude update # Python sudo aptitude install python-dev python-virtualenv # GCC etc... sudo aptitude install build-essential # Fortran sudo aptitude install gfortran libatlas-dev libatlas3gf-base liblapack-dev sudo update-alternatives --set libblas.so.3 /usr/lib/atlas-base/atlas/libblas.so.3 sudo update-alternatives --set liblapack.so.3 /usr/lib/atlas-base/atlas/liblapack.so.3
インストール
virtualenv で仮想環境を作成し, そこに numpy, scipy, scikit-learn の順でインストールしていきます.
virtualenv venv source venv/bin/activate pip install numpy scipy scikit-learn
テスト
scikit-learn の Tutorial のコードを実行してみます.
SVM を使ったサンプルデータセットの数字の識別です.
$ python Python 2.7.3 (default, Mar 13 2014, 11:03:55) [GCC 4.7.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from sklearn import datasets, svm >>> digits = datasets.load_digits() >>> clf = svm.SVC(gamma=0.001, C=100.) >>> clf.fit(digits.data[:-1], digits.target[:-1]) SVC(C=100.0, cache_size=200, class_weight=None, coef0=0.0, degree=3, gamma=0.001, kernel='rbf', max_iter=-1, probability=False, random_state=None, shrinking=True, tol=0.001, verbose=False) >>> clf.predict(digits.data[-1]) array([8])