matlab2014b安裝 libSVM


 

libSVM下載: http://www.csie.ntu.edu.tw/~cjlin/libsvm/  

    或github(建議github上下載,版本多)    https://github.com/cjlin1/libsvm/releases

比較好的一篇安裝libSVM參考博客為: http://blog.csdn.net/lqhbupt/article/details/8596349

我的系統 win7(64位),matlab2014b(64位)。

我開始下載的是最新的版本V321,即 libsvm-3.2.1,將libsvm-3.2.1放在“../matlab2014b/toolbox”下。

因為我的系統均為64位,所以無需編譯,直接通過“設置路徑/添加並包含子文件夾” 選擇“../matlab2014b/toolbox”,點擊“保存”。

然后將當前目錄選擇為“../matlab2014b/toolbox/libsvm-3.2.1”。

matalb輸入   [heart_scale_label,heart_scale_inst]=libsvmread('heart_scale');

出現報錯

Invalid MEX-file 'D:\Program Files\matlab2014b\toolbox\libsvm-3.21\windows\libsvmread.mexw64':
The specified module could not be found.

解決過程:

    網上找了各種原因,有一些事說編譯問題,但是我的win7和matlab都是64位。看到有個別人的回答是用libsvm-320,說沒問題。然后就換了libsvm-320,測試通過。

個人考慮,可能是libsvm-3.2.1存在bug,亦或是與matlab2014b不兼容的原因。總之,matlab2014b和libsvm-320,就可以應用libSVM了。

選擇當前目錄為 “../matlab2014b/toolbox/libsvm-320“,如圖

 

測試代碼如下:

[heart_scale_label,heart_scale_inst]=libsvmread('heart_scale');

model = svmtrain(heart_scale_label,heart_scale_inst, '-c 1 -g 0.07');

[predict_label, accuracy, dec_values] =svmpredict(heart_scale_label, heart_scale_inst, model); % test the trainingdata

 

得到結果如下:

*
optimization finished, #iter = 134
nu = 0.433785
obj = -101.855060, rho = 0.426412
nSV = 130, nBSV = 107
Total nSV = 130
Accuracy = 86.6667% (234/270) (classification)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM