回歸預(yù)測(cè) | Matlab實(shí)現(xiàn)RIME-HKELM霜冰算法優(yōu)化混合核極限學(xué)習(xí)機(jī)多變量回歸預(yù)測(cè)
效果一覽
基本介紹
1.Matlab實(shí)現(xiàn)RIME-HKELM霜冰算法優(yōu)化混合核極限學(xué)習(xí)機(jī)多變量回歸預(yù)測(cè)(完整源碼和數(shù)據(jù))
2.運(yùn)行環(huán)境為Matlab2021b;
3.excel數(shù)據(jù)集,輸入多個(gè)特征,輸出單個(gè)變量,多變量回歸預(yù)測(cè)預(yù)測(cè),main.m為主程序,運(yùn)行即可,所有文件放在一個(gè)文件夾;
4.命令窗口輸出R2、MAE、 MBE、MAPE、 RMSE多指標(biāo)評(píng)價(jià);
代碼特點(diǎn):參數(shù)化編程、參數(shù)可方便更改、代碼編程思路清晰、注釋明細(xì)。文章來源:http://www.zghlxwxcb.cn/news/detail-819711.html
程序設(shè)計(jì)
- 完整源碼和數(shù)據(jù)獲取方式(資源出下載):Matlab實(shí)現(xiàn)RIME-HKELM霜冰算法優(yōu)化混合核極限學(xué)習(xí)機(jī)多變量回歸預(yù)測(cè)。
%% 清空環(huán)境變量
warning off % 關(guān)閉報(bào)警信息
close all % 關(guān)閉開啟的圖窗
clear % 清空變量
clc % 清空命令行
%% 導(dǎo)入數(shù)據(jù)
res =xlsread('data.xlsx','sheet1','A2:H104');
%% 數(shù)據(jù)分析
num_size = 0.7; % 訓(xùn)練集占數(shù)據(jù)集比例
outdim = 1; % 最后一列為輸出
num_samples = size(res, 1); % 樣本個(gè)數(shù)
res = res(randperm(num_samples), :); % 打亂數(shù)據(jù)集(不希望打亂時(shí),注釋該行)
num_train_s = round(num_size * num_samples); % 訓(xùn)練集樣本個(gè)數(shù)
f_ = size(res, 2) - outdim; % 輸入特征維度
%% 劃分訓(xùn)練集和測(cè)試集
P_train = res(1: num_train_s, 1: f_)';
T_train = res(1: num_train_s, f_ + 1: end)';
M = size(P_train, 2);
P_test = res(num_train_s + 1: end, 1: f_)';
T_test = res(num_train_s + 1: end, f_ + 1: end)';
N = size(P_test, 2);
f_ = size(P_train, 1); % 輸入特征維度
%% 數(shù)據(jù)歸一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax('apply', P_test, ps_input);
[t_train, ps_output] = mapminmax(T_train, 0, 1);
t_test = mapminmax('apply', T_test, ps_output);
%% 參數(shù)設(shè)置
%% 獲取最優(yōu)正則化系數(shù) C 和核函數(shù)參數(shù) S
Kernel_type1 = 'rbf'; %核函數(shù)類型1
Kernel_type2 = 'poly'; %核函數(shù)類型2
%% 適應(yīng)度函數(shù)
fobj=@(X)fobj(X,p_train,t_train,p_test,t_test,Kernel_type1,Kernel_type2);
%% 優(yōu)化算法參數(shù)設(shè)置
pop=10;
Max_iter=20;
ub=[20 10^(3) 10^(3) 10 1]; %優(yōu)化的參量分別為:正則化系數(shù)C,rbf核函數(shù)的核系數(shù)S(接下)
lb=[1 10^(-3) 10^(-3) 1 0]; %多項(xiàng)式核函數(shù)的兩個(gè)核系數(shù)poly1和poly2,以及核權(quán)重系數(shù)w
dim=5;
%% 優(yōu)化算法
[Best_score,Best_P,curve] = RIME(pop, Max_iter, lb, ub, dim, fobj);
%% 訓(xùn)練模型
%% 重新訓(xùn)練并進(jìn)行預(yù)測(cè)
參考資料
[1] https://blog.csdn.net/kjm13182345320/article/details/129215161
[2] https://blog.csdn.net/kjm13182345320/article/details/128105718文章來源地址http://www.zghlxwxcb.cn/news/detail-819711.html
到了這里,關(guān)于回歸預(yù)測(cè) | Matlab實(shí)現(xiàn)RIME-HKELM霜冰算法優(yōu)化混合核極限學(xué)習(xí)機(jī)多變量回歸預(yù)測(cè)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!