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);