1. 程式人生 > >libsvm3.22——在matlab(32位和64位)中的安裝

libsvm3.22——在matlab(32位和64位)中的安裝

一、libsvm官方網址

使用入門閱讀文件:《A practical guide to SVM classification》 

二、安裝

若64位版本MATLAB安裝不成功,可採取以下方法:

主要是不需要如此麻煩的編譯過程,直接將libsvm-3.22中windows資料夾新增到工作目錄即可。

第一步:新增libsvm-3.22所在位置到matlab的工作搜尋路徑。(不同於當前目錄)

命令列中鍵入pathtool,然後新增libsvm-3.22所在資料夾,選擇“新增檔案及其子檔案”選項。

更新:若想要使用官方版本的libsvm中的引數優化工具grid.py等,不要將libsvm的安裝路徑整得很複雜!!

本文將其安裝包libsvm322直接放在D盤。

第二步:切換當前工作目錄為libsvm所在檔案下的matlab檔案比如D:\libsvm322\matlab。

第三步:在命令列輸入命令 make,此時在資料夾.../matlab中會出現帶mexm64字尾的檔案。

第四步:拷貝matlab資料夾中所有make出來的檔案至D:\libsvm322\windows。

第五步:安裝完成,使用資料集進行驗證。

三、用heart_scale資料集測試出現的問題

1、load heart_scale;                          %matlab提示出錯。

方法一:將資料轉換為其他格式比如.mat、.txt等。

方法二:用libsvmread(‘heart_scale’),需將當前目錄設定為資料所在目錄。

2、訓練函式報錯

model = svmtrain(heart_scale_label,heart_scale_inst);  

[predict_label,accuracy] = svmpredict(heart_scale_label,heart_scale_inst,model);  

輸入上面兩句命令後,得到的accuracy為空。

解決辦法:

安裝版本為libsvm3.22,其中svmpredict的返回引數的形式有變化。將其改為

[predict_label,accuracy,decision_value] = svmpredict(heart_scale_label,heart_scale_inst,model);