ロコリンの雑記

アニメ大好きニートのロコリンのブログ。2015年卒(修士)の社会人。学生時代(2010年)から続けてるブログなのでエントリによっては学生ブログと社会人ブログになっています。時系列から察して。
 
 
このブログについて
ブログ内検索
カテゴリ
プロフィール

ロコリン

Author:ロコリン
2018年5月だけニート(6月から会社員)。2015年3月まで大学院生でした。
趣味:アニメ/Twitter/ゲーム/ニコ動
今(2015年2月更新):プリキュア/プリパラ/アイカツ/ごちうさ/艦これ

外部リンク
Twitter

スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Windows の 64 bit Python に libsvm を入れる 

libsvm の公式サイトで配布されている zip アーカイブには様々な言語のラッパーが同梱されており,基本的には多くの言語で libsvm が使えます。 ただし,現状 (2013年4月現在) はそのままではうまくいかないため,いくつかの手順を踏んで使います。

必要環境

前提として次のものが既にインストールされているとします。

  • Python (64 bit)
  • Microsoft Visual Studio 2012 (Express for Windows Desktop または製品版) またはそれより新しいバージョン

とりあえず,libsvm の zip アーカイブを適当なディレクトリ (どこでもいい) に展開しておいてください。

libsvm の 64 bit ビルド

現状 (2013年4月現在) は中に入っているバイナリが 32 bit コンパイルされているため,そのままでは 64 bit Python では使えません。 なので自分でソースコードから 64 bit コンパイルする必要があります。

  1. VS2012 x64 コマンドプロンプトを開く。
  2. libsvm の zip アーカイブを展開したディレクトリに移動する。(「cd 」と入力してディレクトリをコマンドプロンプトにドラッグ&ドロップして Enter キー。)
  3. 「nmake /f Makefile.win」と入力して Enter キーを押す。

これでサブディレクトリ windows に libsvm.dll やその他もろもろの x64 バイナリが生成されます。

libsvm を Python で使う

  1. Python をインストールしたディレクトリ (C:\Python33 など) のサブディレクトリ DLLs に windows 内の libsvm.dll を入れる。
  2. Python をインストールしたディレクトリのサブディレクトリ Lib\site-packages に python 内の svm.py と svmutil.py を入れる。

動作確認

Python 対話環境上で from svm import * を実行してみる。何も起こらず,次の対話入力が求められたら成功。エラーが出たら失敗。

なんか実感がわかない場合は次の Python コードを実行してみてはどうでしょう?

from svm import *
from svmutil import *

prob = svm_problem([-1,1,1,-1], [[0,0], [0,1],[1,0],[1,1]])	# 教師データ (XOR)
param = svm_parameter('-s 0 -t 2 -c 1')	# パラメータ (C-SVC, RBF カーネル, C=1)
machine = svm_train(prob, param)	# 学習

p_labels, p_acc, p_vals = svm_predict([-1,-1,1,1,1], [[0.2,0.3],[0.8,0.7],[0.3,0.7],[0.8,0.2],[0.51,0.49]], machine)	# 識別対象
print(p_labels)	# 識別結果を表示

上の実行結果が [-1.0, -1.0, 1.0, 1.0, 1.0] になるはずです。

おまけ

Ubuntu でのインストール

Ubuntu だったらパッケージ管理ソフトにお任せすればいいです。次のものを入れればいいです。

  • libsvm-dev
  • libsvm-tools
  • python-libsvm

参考文献

スポンサーサイト
コメント















 管理者にだけ表示を許可する

トラックバック
 
http://rexpit.blog29.fc2.com/tb.php/106-26dfddf6
最新記事
最新コメント
FC2カウンタ
欲しい
最近買ったもの
Amazon 検索
 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。