初步體驗libsvm用法2(matlab下安裝使用)


  在前面的博文《初步體驗libsvm用法1(官方自帶工具)》:http://www.cnblogs.com/tornadomeet/archive/2012/04/12/2443993.html 中已經初步介紹了使用官方自帶的svm幾個exe文件來可視化操作分類問題,但是在實際編程中,svm的訓練和預測有可能只是項目工程的一部分,嵌入在其中了。我們不能單獨拿出來處理。所以libsvm需要與其他的計算機語言平台相結合。

  這一節主要講libsvm在matlab下的初步體驗。

  我的matlab版本為matlab(R2011b),c/c++編譯器為vs c++2010(32位)。這里需要注意的是下面將libsvm與matlab相結合的過程需要有c/c++編譯器,所以自己的電腦上必須裝有這些編譯器,一般常見的c/c+=編譯器matlab都會支持的。

 

下載libsvm:

  在網站http://www.csie.ntu.edu.tw/~cjlin/libsvm/ 下載libsvm最新版本3.12,解壓到相應目錄(此處解壓即安裝)。我將其解壓后放在c盤,即C:\Program Files\libsvm-3.12。

 

設置matlab搜索工作目錄:

  打開matlab,file->Set Path->Add with Subfolders,然后定位到C:\Program Files\libsvm-3.12,注意這里最好定位到libsvm-3.12,而不要定位到libsvm-3.12子目錄matlab(也不知道是否可以,沒有試過)。點擊Save后單擊Close即可。

 

設置matlab當前目工作錄:

  將matlab的Current Folder定位到剛剛libsvm-3.12下的matlab目錄,如我的:C:\Program Files\libsvm-3.12\matlab

 

選擇c/c++編譯器:

  在matlab的終端輸入:met –setup,當出現Would you like mex to locate installed compilers [y]/n?提示時輸入y。然后提示讓你選擇c/c++編譯器,我這里輸入數字2,即vs c++2010。當出現Are these correct [y]/n?提示時,輸入y即可。當出現如下提示說明編譯器選擇成功:

  

  當然上面成功的是因為我的編譯器安裝在系統默認的路徑下,如果網友的vs不是安裝在系統默認下則需要選擇n,然后自己手動更改安裝目錄,大家去嘗試下肯定會成功的。

 

在終端輸入make:

  然后查看C:\Program Files\libsvm-3.12\matlab目錄下是否生成了libsvmread.mexw32,libsvmwrite.mexw32,svmtrain.mexw32,svmpredict.mexw32這4個文件,如果用,說明libsvm的matlab已經編譯成功了。

 

測試libsvm的matlab工具箱是否可用:

  在命令行輸入下面命令:

  load heart_scale;

  model=svmtrain(heart_scale_label,heart_scale_inst)

  [predict_lebel,accuracy]=svmpredict(heart_scale_label,heart_scale_inst,model)

  則其model顯示為:

  

  結果顯示為:

  

  這說明libsvm在matlab中可以使用了。

 

  參考文獻:http://www.matlabsky.com/thread-18080-1-1.html

 

 

 

 


免責聲明!

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



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