- 軟件大?。?span>856KB
- 軟件語言:中文
- 軟件類型:國產(chǎn)軟件
- 軟件類別:免費軟件 / 其他行業(yè)
- 更新時間:2017-05-23 10:48
- 運行環(huán)境:WinAll, WinXP, Win7, Win8
- 軟件等級:
- 軟件廠商:
- 官方網(wǎng)站:暫無
120KB/中文/0.0
304KB/中文/10.0
8.73M/中文/10.0
122.18M/中文/2.5
101KB/中文/2.5
libsvm工具箱是一款為matlab打造的工具包,專為計算智能研究和應(yīng)用開發(fā)者,學生,課堂實驗室準備。功能更足夠強大,一些論文已開始利用它,但即使你是Matlab新手,也很容易學習此工具箱。歡迎下載。
LIBSVM是臺灣大學林智仁(Lin Chih-Jen)教授等開發(fā)設(shè)計的一個簡單、易于使用和快速有效的SVM模式識別與回歸的軟件包,他不但提供了編譯好的可在Windows系列系統(tǒng)的執(zhí)行文件,還提供了源代碼,方便改進、修改以及在其它操作系統(tǒng)上應(yīng)用;該軟件對SVM所涉及的參數(shù)調(diào)節(jié)相對比較少,提供了很多的默認參數(shù),利用這些默認參數(shù)可以解決很多問題;并提供了交互檢驗(Cross Validation)的功能。該軟件可以解決C-SVM、ν-SVM、ε-SVR和ν-SVR等問題,包括基于一對一算法的多類模式識別問題。
一。下載libsvm
在綠色資源網(wǎng)的網(wǎng)站上下載 libsvm-3.12.zip文件,解壓后放在任意目錄下,最好放在MATLAB工具箱中,比如 C:\Program Files\MATLAB\R2011a\toolbox\libsvm-3.12下。
二。配置編譯器
打開 matlab,切換到C:\Program Files\MATLAB\R2011a\toolbox\libsvm-3.12\matlab目錄下,鍵入以下命令:
mex –setup
出現(xiàn)提示語句
Please choose your compiler for building MEX-files:
Would you like mex to locate installed compilers [y]/n?n %這次是選擇編譯器,輸入n,選擇自定義的編譯器
出現(xiàn)以下選項(因電腦而異)
Select a compiler:
[1] Intel C++ 11.1 (with Microsoft Visual C++ 2008 SP1 linker)
[2] Intel Visual Fortran 11.1 (with Microsoft Visual C++ 2008 SP1 linker)
[3] Intel Visual Fortran 11.1 (with Microsoft Visual C++ 2008 Shell linker)
[4] Lcc-win32 C 2.4.1
[5] Microsoft Visual C++ 6.0
[6] Microsoft Visual C++ 2005 SP1
[7] Microsoft Visual C++ 2008 SP1
[8] Microsoft Visual C++ 2010
[9] Microsoft Visual C++ 2010 Express
[10] Open WATCOM C++
[0] None
Compiler: 8%可以用其他的,出現(xiàn)以下提示語句
Your machine has a Microsoft Visual C++ 2010 compiler located at
C:\Program Files\Microsoft visual studio 10.0. Do you want to use this compiler [y]/n?
編譯器默認路徑,確認正確輸入y,更改路徑,輸入n
輸入y出現(xiàn)再次確認
Please verify your choices:
Compiler: Microsoft Visual C++ 2010
Location: C:\Program Files\Microsoft Visual Studio 10.0
Are these correct [y]/n? y
編譯器配置完成
Trying to update options file: C:\Documents and Settings\zhangduokun\Application Data\MathWorks\MATLAB\R2011a\mexopts.bat
From template: C:\PROGRA~1\MATLAB\R2011a\bin\win32\mexopts\msvc100opts.bat
Done . . .
三。編譯
輸入命令
》 make
》
%編譯完成
系統(tǒng)就會生成svmtrain.mexw32,svmpredict.mexw32,libsvmread.mexw32和libsvmwrite.mexw32等文件(對于 Matlab 7.1以下上版本,生成的對應(yīng)文件為svmtrain.dll,svmpredict.dll和 read_sparse.dll,沒做測試),然后可以在matlab的菜單 File->Set Path->add with subfolders(可直接用Add Folder)里,把 C:\Program Files\MATLAB\R2011a\toolbox\libsvm-3.12\matlab目錄添加進去,這樣以后在任何目錄下都可以調(diào)用 libsvm的函數(shù)了。
四。測試
為了檢驗 libsvm和 matlab之間的接口是否已經(jīng)配置完成,可以在 matlab下執(zhí)行以下命令:
》load heart_scale
完成該步驟后發(fā)現(xiàn)Workspace中出現(xiàn)了heart_scale_inst和 heart_scale_label,說明正確
》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); %
Accuracy = 86.6667% (234/270) (classification)% done
如果運行正常并生成了model這個結(jié)構(gòu)體(其中保存了所有的支持向量及其系數(shù)),那么說明 libsvm和matlab 之間的接口已經(jīng)完全配置成功。
LIBSVM 使用的一般步驟是:
1) 按照LIBSVM軟件包所要求的格式準備數(shù)據(jù)集;
2) 對數(shù)據(jù)進行簡單的縮放操作;
3) 考慮選用RBF 核函數(shù);
4) 采用交叉驗證選擇最佳參數(shù)C與g ;
5) 采用最佳參數(shù)C與g 對整個訓練集進行訓練獲取支持向量機模型;
6) 利用獲取的模型進行測試與預(yù)測。
1. matlab自帶了C編譯器Lcc-win32C,但是libsvm原始版本是C++實現(xiàn)的,因此需要C++的編譯器來編譯,這就是不適用matlab默認編譯器而選擇其他C++編譯器的原因。
matlab支持的編譯器也是有限的,可以查看不同版本matlab支持的編譯器列表
2. 如果matlab版本太低,如matlab 7.0是不能用VS作為編譯器的,只能用VC++ 6.0
3. .mexw32 文件是經(jīng)過加密的,打開是亂碼,函數(shù)本身沒有幫助。
例如輸入 help svmpredict會出現(xiàn)報錯: svmpredict not found
工具箱libsvm-3.12\matlab中README文件才是幫助文件。
但是輸入help svmtrain會出現(xiàn)幫助信息,其實出現(xiàn)的是系統(tǒng)自帶的svmtrain函數(shù),沒有l(wèi)ibsvm工具箱中的好用。
4.在新版本libsvm3.12中,文件夾libsvm-3.12\windows中已經(jīng)有編譯好的程序,可以直接使用,只需要把libsvm-3.12\windows添加到matlab路徑中即可,不需要編譯的過程。當然最好還是自己編譯一遍,因為編譯環(huán)境不同會導致一些不可預(yù)估的小問題,自己編譯的過程是可控的。
請描述您所遇到的錯誤,我們將盡快予以修正,謝謝!
*必填項,請輸入內(nèi)容