LibSVM 在matlab中的使用

2021-08-14 15:09:39 字數 2003 閱讀 3822

搞了一天,看了很多資料,終於搞好了matlab中呼叫大牛寫好的svm庫,將結果告訴大家避免以後走彎路。

1. 參考**:

詳解:2. 操作流程:

請注意:詳細操作流程請參考上面的「詳解」**,這裡只說大框架和詳解裡沒有提到的問題。

a.設定path

file->set path ->add with subfolders->加入libsvm-3.11資料夾的路徑

b. 在matlab中編譯

目的:將libsvm-3.11\matlab 中 libsvmwrite.c 等 c++檔案編譯成 libsvmread.mexw32 等matlab檔案,這樣就可以在command window中被直接呼叫了。

注意:在最外面的readme中有提到已經有編譯好的檔案,比如在libsvm-3.11\windows中也會看到libsvmread.mexw32,但這裡不要被誤導!還是需要你自己再編譯一遍的!(還有如果matlab版本太低,如matlab 7.0是不能用vs作為編譯器的,只能用vc++ 6.0,這是我勸你給matlab公升級吧!別裝vc了~我就是這樣,公升級到matlab 2011b就可以用vs2008做編譯器了)

c.載入資料集

就是這裡搞了我一下午!

載入資料集

[cpp]

view plain

copy

load heart_scale  

heart_scale是會報錯的:

[cpp]

view plain

copy

??? error 

using

==> load  

number of columns on line 3 of ascii file d:\zju projects\machine learning\libsvm-3.11\heart_scale must be the same as previous lines.  

這時怎麼辦?

法2、用libsvmread而非load,就是這裡

[cpp]

view plain

copy

libsvmread(

'heart_scale'

);  

這樣就可以載入資料集了,完成該步驟後發現workspace中出現了heart_scale_inst 和 heart_scale_label,說明正確。

ok,下一步我們來測試svm的訓練和predict

d.train & predict

[cpp]

view plain

copy

model = svmtrain(heart_scale_label,heart_scale_inst);  

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

可以看到結果:

[cpp]

view plain

copy

accuracy = 86.6667% (234/270) (classification)  

*************************mac 版如何在matlab中使用libsvm*************************

下面說下mac怎麼用libsvm,這裡的問題是mex -setup的問題,需要安裝乙個補丁。

1. mac中安裝xcode

2. xcode的preference中裝command line tools

4. 在matlab命令列

輸入》cd(matlabroot)

5. 在matlab命令列輸入這個打補丁

>>!unzip -o ~/downloads/optspatch_macosx8.patch

6. 可以執行mex -setup了,選擇將原來的gcc覆蓋掉

7. 到libsvm/matlab進行make

就搞定啦!

具體參考:

就ok了。祝大家成功快速實現!

在MATLAB中安裝libsvm

搞了一天,看了很多資料,終於搞好了matlab中呼叫大牛寫好的svm庫,將結果告訴大家避免以後走彎路。1.參考 詳解 2.操作流程 請注意 詳細操作流程請參考上面的 詳解 這裡只說大框架和詳解裡沒有提到的問題。a.設定path file set path add with subfolders 加入...

LibSVM 在matlab中的使用

搞了一天,看了很多資料,終於搞好了matlab中呼叫大牛寫好的svm庫,將結果告訴大家避免以後走彎路。1.參考 詳解 2.操作流程 請注意 詳細操作流程請參考上面的 詳解 這裡只說大框架和詳解裡沒有提到的問題。a.設定path file set path add with subfolders 加入...

LibSVM 在matlab中的使用

搞了一天,看了很多資料,終於搞好了matlab中呼叫大牛寫好的svm庫,將結果告訴大家避免以後走彎路。1.參考 詳解 2.操作流程 請注意 詳細操作流程請參考上面的 詳解 這裡只說大框架和詳解裡沒有提到的問題。a.設定path file set path add with subfolders 加入...