『壹』 請問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中其實也是將所有變數都默認為了向量(或矩陣),所以你只管輸入的數據結構即可。
『貳』 matlab 程序運行很慢,怎麼改進
提高matlab程序運行速度,可以用以下方法:
1、更改MATLAB啟動快捷方式
在預設配置下,MATLAB有一個啟動閃屏,去掉它可以節省一定的內存消耗,從而加快啟動。
在MATIJAB啟動快捷方式後添加命令行參數 一nos-plash」即可_去掉閃屏。
預設配置 MATLAB會啟動虛擬機,這會消耗大量內存。添加命令行參數"-nojvm」可禁用JAVA虛擬機。
MATLAB啟動快捷方式命令形如:
"%MATLABROOT%\bin\win32\matlab.exe -nosplash -nojvm」。
經過以上配置,MATLAB啟動和運行速度會得到大幅提升。
注意:禁用JAVA虛擬機後,MATLAB中有些功能,諸如:調試功能、可視化界面設計功能不能使用,但大多數其它功能可正常運行。如果使用的功能需要JAVA虛擬機支持,啟動時將命令行參數 一nojvm 去掉即可。
2、更改MATLAB搜索路徑
MATLAB啟動時會添加搜索路徑。如果安裝了多個工具箱,搜索路徑會很多。過多的搜索路徑除了減緩啟動速度外,還會影響MATLAB執行效率。因為MATLB執行程序時會在這些路徑中尋找M文件。而實際上我們不會為完成某個任務使用所有的工具箱。為提高啟動和運行速度,可以修改pathdef.m文件,將暫時不用的工具箱和其它搜索路徑注釋掉(MATLAB程序以%為注釋標識),從而加快啟動和運行。