-
Notifications
You must be signed in to change notification settings - Fork 0
/
mainDM4.m
42 lines (42 loc) · 1.41 KB
/
mainDM4.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
clear
inputpath='DM_F1.00PR0.25';
%inputpath='LRA_F1.00';
inputPrefix='TrajectoryXY';
%outputPath=spriMixedStrntf('%s/DataOut.mat');
TrTestRatio=0.9; % Train 90% test 10%
trnValRatio=0.5; % train 50% validation 50%
%TWsearchSpace=15:15:90;
TWopt=60;
[ trainSuperDataSet,testSuperDataSet ] = getInputDataset10Fold(inputpath,inputPrefix);
kTrnValModelInfo={};
kTestResult={};
errOPT=0;
errLocal=0;
errHin=0;
errR=0;
parfor k=1:10 % 10 fold validation
trainDataSet=trainSuperDataSet{k};
testDataSet=testSuperDataSet{k};
%[ trainDataSet,testDataSet] = getInputDataset(inputpath,inputPrefix,TrTestRatio);
% OPTList=zeros(1,25);
% maxList=zeros(1,25);
% parfor i=1:25
% [ TWopt,maxPsi ] = searchTWopt( trainDataSet,TWsearchSpace );
% OPTList(i)=TWopt;
% maxList(i)=maxPsi;
% end
[ TrnValModelInfo ] = CoGIFfunc( trainDataSet,trnValRatio,TWopt );
[ TestResult ] = TestModelPredict(TrnValModelInfo,testDataSet);
kTrnValModelInfo{k}=TrnValModelInfo;
kTestResult{k}=TestResult;
errOPT=errOPT+nanmean(nanmean(TestResult.errOPTMat))
errHin=errHin+nanmean(nanmean(TestResult.errMats {1}))
errLocal=errLocal+nanmean(nanmean(TestResult.errMats {2}))
errR=errR+nanmean(nanmean(TestResult.errMats {3}))
end
errOPT=errOPT/10.0;
errLocal=errLocal/10.0;
errHin=errHin/10.0;
errR=errR/10.0;
filename = sprintf('%s.mat',inputpath);
save(filename);