資源簡介
使用emd進行回歸預測的代碼,使用方法結單,只需輸入訓練集和測試集就可以進行emd預測了,預測的結果會保存在相應的.mat文件里,詳細操作請看代碼里的操作說明。資源里有demo,guidence.m文件里有調用實例,直接復制到command windows里運行就可以了,簡單易懂,漢語注釋說明等。運行結果會直接輸出測試集的MAE, RMSE, MAPE, DISTAT這幾個統計量

代碼片段和文件信息
function?[MAE?RMSE?MAPE?DISTAT]=?ELM(TrainingData_File?TestingData_File?NumberofHiddenNeurons?ActivationFunction)
%author:xiaobei
%blog:http://blog.csdn.net/lijjianqing
%Email:1600185439@qq.com
%回歸預測,模型保存在elm_model.mat中;訓練集預測結果保存在elm_output_train.mat中;測試集預測結果保存在
%elm_output_test.mat中;測試集的統計量保存在elm_result.mat中
%?Input:
%?TrainingData_File?????-?Filename?of?training?data?set
%?TestingData_File??????-?Filename?of?testing?data?set
%?NumberofHiddenNeurons?-?Number?of?hidden?neurons?assigned?to?the?ELM
%?ActivationFunction????-?Type?of?activation?function:
%???????????????????????????‘sig‘?for?Sigmoidal?function
%???????????????????????????‘sin‘?for?Sine?function
%???????????????????????????‘hardlim‘?for?Hardlim?function
%???????????????????????????‘tribas‘?for?Triangular?basis?function
%???????????????????????????‘radbas‘?for?Radial?basis?function?(for?additive?type?of?SLFNs?instead?of?RBF?type?of?SLFNs)
%
%?Output:(輸出測試集的統計量)
%?MAE
%?RMSE
%?MAPE
%?DISTAT
%?TrainingTime??????????-?Time?(seconds)?spent?on?training?ELM
%?TestingTime???????????-?Time?(seconds)?spent?on?predicting?ALL?testing
%訓練集的統計量
%?MAE_TRA
%?RMSE_TRA
%?MAPE_TRA
%?DISTAT_TRA
%%%參照文獻及資源說明
%reference:
?%%%%????Authors:????MR?QIN-YU?ZHU?AND?DR?GUANG-BIN?HUANG
????%%%%????NANYANG?TECHNOLOGICAL?UNIVERSITY?SINGAPORE
????%%%%????EMAIL:??????EGBHUANG@NTU.EDU.SG;?GBHUANG@IEEE.ORG
????%%%%????WEBSITE:????http://www.ntu.edu.sg/eee/icis/cv/egbhuang.htm
????%%%%????DATE:???????APRIL?2004
%%%%
%%%%%%%%%%%?Load?training?dataset
train_data=load(TrainingData_File);
T=train_data(:1)‘;
P=train_data(:2:size(train_data2))‘;
clear?train_data;???????????????????????????????????%???Release?raw?training?data?array
%%%%%%%%%%%?Load?testing?dataset
test_data=load(TestingData_File);
TV.T=test_data(:1)‘;
TV.P=test_data(:2:size(test_data2))‘;
clear?test_data;????????????????????????????????????%???Release?raw?testing?data?array
NumberofTrainingData=size(P2);
NumberofTestingData=size(TV.P2);
NumberofInputNeurons=size(P1);
%%%%%%%%%%%?Calculate?weights?&?biases
start_time_train=cputime;
%%%%%%%%%%%?Random?generate?input?weights?InputWeight?(w_i)?and?biases?BiasofHiddenNeurons?(b_i)?of?hidden?neurons
InputWeight=rand(NumberofHiddenNeuronsNumberofInputNeurons)*2-1;
BiasofHiddenNeurons=rand(NumberofHiddenNeurons1);
tempH=InputWeight*P;
clear?P;????????????????????????????????????????????%???Release?input?of?training?data?
ind=ones(1NumberofTrainingData);
BiasMatrix=BiasofHiddenNeurons(:ind);??????????????%???Extend?the?bias?matrix?BiasofHiddenNeurons?to?match?the?demention?of?H
tempH=tempH+BiasMatrix;
%%%%%%%%%%%?Calculate?hidden?neuron?output?matrix?H
switch?lower(ActivationFunction)
????case?{‘sig‘‘sigmoid‘}
????????%%%%%%%%?Sigmoid?
????????H?=?1?./?(1?+?exp(-tempH));
????case?{‘sin‘‘sine‘}
????????%%%%%%%%?Sine
????????H?=?sin(tempH);????
????case?{‘hardlim‘}
????????%%%%%%%%?Hard?Limit
????????H?=?double(hardl
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-12-16?23:23??ELM\
?????文件????????6554??2014-12-16?23:22??ELM\ELM.m
?????文件?????????191??2014-12-16?23:23??ELM\guidence.m
?????文件?????????323??2014-12-16?22:24??ELM\testdata
?????文件????????2649??2014-12-16?22:24??ELM\traindata
- 上一篇:leach算法改進
- 下一篇:hmm的matlab源代碼
評論
共有 條評論