1. matlab2014a中有自帶的libsvm工具箱嗎
R是更像是一個統計軟體。而且因為免費開源,這幾年發展表較快。 我目前個人感覺是,Matlab能乾的,R全能幹,而且沒感覺麻煩太多。
2. 安裝Libsvm工具箱出現問題E:\MATLAB7\BIN\WIN32\MEX.PL: Error: 'CFLAGS=\$CFLAGS -std=c99' not found.
必須在libsvm文件夾下運行,加入到路徑不起作用的。
3. 求在MATLAB下編譯好(可以直接使用)的libsvm工具箱
以下兩種方法,我已經親測可用
方法1:可以在其他朋友的電腦上進行編譯,編譯完後直接把libsvmread.mexw64、libsvmwrite.mexw64、svmpredict.mexw64、svmtrain.mexw64復制到你自己的程序中即可運行。這種方法的弊端是不同的演算法程序中均需要復制一次。
方法2:把編譯完後的libsvmread.mexw64、libsvmwrite.mexw64、svmpredict.mexw64、svmtrain.mexw64這幾個文件添加到F:\MATLAB 2015a anzhuang\toolbox\libsvm-3.22\matlab下,即可
4. 如何在MATLAB中添加SVM函數工具箱
你可以參照http://jingyan..com/article/a501d80cf764c3ec630f5ef5.html的步驟進行安裝,然後重啟Matlab就可以調用SVM函數工版具箱了。權
5. matlab r2014a怎樣安裝libsvm工具箱
1.設置路徑:用Add with Subfolders添加目錄(將工具箱所在文件夾的子目錄也添加到MATLAB工作搜索目錄)
2.選擇編回譯器答:mex -setup(mex後面有空格)
3.編譯:make(要把MATLAB當前目錄調整到libsvm工具箱所在文件夾)雙擊make.m文件
PS:運行help train得到的是MATLAB自帶的svmtrain函數的幫助文件
運行help svmpredict會有報錯:svmpredict not found
工具箱中的README穩健可以算是幫助文件
table鍵對函數進行補全!
6. libsvm提供的數據集下載
猜測。
既然是libsvm組件, 那數據格式應該默認就是Libsvm格式
label id:weighti id:weight...
label id:weighti id:weight...
這種
7. libsvm-mat-加強工具箱從哪裡可以下載
http://www.ilovematlab.cn/thread-65333-1-1.html
這個裡面有 我用過
如果你沒有賬號,我版可以發權給你
8. matlab安裝libsvm工具箱
遇到了同樣的問題 測試也沒有問題 調用的時候出現上面兩個報錯
9. 請問Matlab的libsvm工具箱如何進行多元回歸
這個問題其實非常地簡單。
1、在Matlab裡面先做這樣一小段處理:
data = [
0.5 2 12 26 2 0.0476890000000000
0.5 3 14 28 4 0.0792965000000000
0.5 4 16 30 6 0.106723000000000
0.5 5 18 32 8 0.112500000000000
1 2 14 30 8 0.487650000000000
1 3 12 32 6 0.0955300000000000
1 4 18 26 4 0.336150000000000
1 5 16 28 2 0.202830000000000
1.5 2 16 32 4 1.18260000000000
1.5 3 12 30 2 0.273390000000000
1.5 4 18 28 8 0.784670200000000
1.5 5 14 26 6 0.487695000000000
2 2 18 28 6 1.41230000000000
2 3 16 26 8 0.934150000000000
2 4 14 32 2 0.181100000000000
2 5 12 30 4 1.08280000000000
];
x = data(:,1:end-1);
y = data(:,end);
% 上述處理即是將最後一列作為輸出,前n-1列全部作為輸入
2. 將 x, y 分別作為輸入和輸出放入svmtrain函數中訓練
3. 再在svmpredict函數中輸入x即可得出各個x對應的預測值y
註:這里的原理其實十分簡單,在libsvm中其實也是將所有變數都默認為了向量(或矩陣),所以你只管輸入的數據結構即可。
10. 如何在matlab里安裝libsvm包
1.下載好libsvm包
下載libsvm-3.21到隨意一個地方,比如到安裝路徑下的 toolbox下——D:\MATLAB\R2014A\toolbox\下,並解壓。
打開matlab,將libsvm-3.21\matlab 添加到路徑,比如將:\MATLAB\R2014A\toolbox\libsvm-3.21\matlab 添加到路徑。
2.setup 第一次嘗試
若提示沒有C++編譯器,則根據提示的網址去下載 winsdk_web.exe,然後 雙擊運行winsdk_web.exe,安裝到最後若提示失敗,則去卸載自帶的visual studio 和 .netframework 4,然後再運行 winsdk_web.exe,提示缺少 .netframework 4,則自行下載安裝,反復運行 winsdk_web.exe。
直到運行 winsdk_web.exe 時出現如下圖所示情況,說明距成功更近一步了,
選擇 Change,下一步,
勾選上 visual C++ compilers 和 microsoft visual C++ 2010,下一步,
最後提示成功安裝。
2. setup
打開Matlab中,進入LIBSVM根目錄下的matlab目錄(如D:\MATLAB\R2014A\toolbox\libsvm-3.21),在命令窗口的輸入mex -setup 輸出為:
>>mex –setup
MEX 配置為使用 'Microsoft Windows SDK 7.1 (C)' 以進行 C 語言編譯。
Warning: The MATLAB C and Fortran API has changed to support MATLAB
variables with more than 2^32-1 elements. In the near future
you will be required to update your code to utilize the
new API. You can find more information about this at:
http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.
要選擇不同的語言,請從以下選項中選擇一種命令:
mex -setup C++
mex -setup FORTRAN
繼續:
>> mex -setup C++
MEX 配置為使用 'Microsoft Windows SDK 7.1 (C++)' 以進行 C++ 語言編譯。
Warning: The MATLAB C and Fortran API has changed to support MATLAB
variables with more than 2^32-1 elements. In the near future
you will be required to update your code to utilize the
new API. You can find more information about this at:
http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.
3.編譯
執行 make,輸出如下:
>> make
使用 'Microsoft Windows SDK 7.1 (C)' 編譯。
MEX 已成功完成。
使用 'Microsoft Windows SDK 7.1 (C)' 編譯。
MEX 已成功完成。
使用 'Microsoft Windows SDK 7.1 (C++)' 編譯。
找不到 D:\MATLAB\R2014A\toolbox\libsvm-3.21\matlab\svmtrain.exp
找不到 D:\MATLAB\R2014A\toolbox\libsvm-3.21\matlab\svmtrain.exp
MEX 已成功完成。
使用 'Microsoft Windows SDK 7.1 (C++)' 編譯。
找不到 D:\MATLAB\R2014A\toolbox\libsvm-3.21\matlab\svmpredict.exp
找不到 D:\MATLAB\R2014A\toolbox\libsvm-3.21\matlab\svmpredict.exp
MEX 已成功完成。
>>
4.重命名
忽略錯誤(找不到……),繼續,編譯完成後,在當前目錄下(libsvm-3.21/matlab下)會出現svmtrain.mexw64、svmpredict.mexw64 或者svmtrain.mexw32、svmpredict.mexw32 ,把文件名svmtrain和svmpredict 相應改成 libsvmtrain 和 libsvmpredict。
這是因為Matlab中自帶有SVM的工具箱,其函數名字就是svmtrain和svmpredict,和 libsvm 默認的名字一樣.
5.測試是否安裝成功libsvm
libsvm 軟體包中自帶有測試數據,即軟體包根目錄下的 heart_scale 文件。
在matlab運行代碼,輸出如下:
>> [heart_scale_label, heart_scale_inst] = libsvmread('heart_scale');
>> model = libsvmtrain(heart_scale_label, heart_scale_inst, '-c 1 -g 0.07');
*
optimization finished, #iter = 134
nu = 0.433785
obj = -101.855060, rho = 0.426412
nSV = 130, nBSV = 107
Total nSV = 130
>> [predict_label, accuracy, dec_values] = libsvmpredict(heart_scale_label, heart_scale_inst, model);
Accuracy = 86.6667% (234/270) (classification)
>>
OK ,perfect ! Congratulations to you!
如果遇到:
>> [heart_scale_label, heart_scale_inst] = libsvmread('heart_scale');
Invalid MEX-file 'C:\Users\jiao\Documents\MATLAB\libsvm-3.20\matlab\libsvmread.mexw64': 找不到指定的模塊。
則把 D:\MATLAB\R2014A\toolbox\libsvm-3.21\matlab 文件夾添加到路徑就可以了。