OctaveでLIBSVMを使う!
講義でSVMを使わないといけなくなったのでOctave上で使えるようにした時のメモ。
環境としては以下の通り。
そして今回使用したLIBSVMは以下のところから持ってきたものを使いました。
http://www.csie.ntu.edu.tw/~cjlin/cgi-bin/matlab.cgi?+http://www.csie.ntu.edu.tw/~cjlin/libsvm/matlab+zip
落としてきたLIBSVMのファイルはそのままではエラーをはいてくるのでちょこっと手を加えます。
上の3つのファイルを開いてtypedef int mwIndex;の行をコメントアウトします。
そしてOctave上でLIBSVMのディレクトリに移動して以下のコマンドを打ち込む。
これでSVMが動くようになります。
試しにコードに付属しているREADMEのExamplesの一部を実行してみるために、LIBSVMのディレクトリのところで以下のコマンドを打ち込む。
- >> load heart_scale.mat
- >> model = svmtrain(heart_scale_label, heart_scale_inst, '-c 1 -g 2');
- >> [predict_label, accuracy, dec_values] = svmpredict(heart_scale_label, heart_scale_inst, model);
下のようなものが返ってきたらOK
Accuracy = 99.2593% (268/270) (classification)
最初からlinuxでやっていればこんな苦労なかっただろうに・・・