lnoxval.m
来自「有监督自组织映射-偏最小二乘算法(A supervised self-organ」· M 代码 · 共 71 行
M
71 行
function [MeanRmseVal, StdRmseVal, RmseVal, Ytest1, Ypred1] = LNOXVal(BestMLK,MLKP,Ntest);
Tbegin=cputime;
MLKP.DataFile='Temp/tempfile';
MLKP.DataSet='Orig';
MLKP.ScaleTypeX = 'Raw';
MLKP.ScaleTypeY = 'Raw';
MLKP.ScaleBack = 'N';
MLKP.SilentMode='N';
XSav=[BestMLK.Xtr; BestMLK.Xtest];
YSav=[BestMLK.Ytr; BestMLK.Ytest];
[Nobj,NvarX]=size(XSav);
[Nobj,NvarY]=size(YSav);
if (upper(MLKP.ProblemType) == 'REG')
RmseVal=zeros(1,NvarY);
else
RmseVal=0;
end
Nval=floor(Nobj/Ntest);
Nrest=Nobj-Nval*Ntest;
Ytest1=[];
Ypred1=[];
for ival=1:Nval
X=XSav;
Xtest=X(1+(ival-1)*Ntest:ival*Ntest,:);
X(1+(ival-1)*Ntest:ival*Ntest,:)=[];
Xtr=X;
Y=YSav;
Ytest=Y(1+(ival-1)*Ntest:ival*Ntest,:);
Y(1+(ival-1)*Ntest:ival*Ntest,:)=[];
Ytr=Y;
save Temp/tempfile Xtr Xtest Ytr Ytest
[PCTrain,PCTest,NBestMLK,NMLKP] = MakeModel(1,0,MLKP);
Ytest1=[Ytest1; NBestMLK.Ytest];
Ypred1=[Ypred1; NBestMLK.PredTest];
if (upper(MLKP.ProblemType) == 'REG')
RmseVal(ival,:)=NBestMLK.RmseTest;
else
RmseVal(ival)=NBestMLK.PercCorrTest;
end
end
if (Nrest > 0)
ival=Nval+1;
X=XSav;
Xtest=X(1+(ival-1)*Ntest:end,:);
X(1+(ival-1)*Ntest:end,:)=[];
Xtr=X;
Y=YSav;
Ytest=Y(1+(ival-1)*Ntest:end,:);
Y(1+(ival-1)*Ntest:end,:)=[];
Ytr=Y;
save ../data/tempfile Xtr Xtest Ytr Ytest
[PCTrain,PCTest,NBestMLK,NMLKP] = MakeModel(1,0,MLKP);
Ytest1=[Ytest1; NBestMLK.Ytest];
Ypred1=[Ypred1; NBestMLK.PredTest];
if (upper(MLKP.ProblemType) == 'REG')
RmseVal(ival,:)=NBestMLK.RmseTest;
else
RmseVal(ival)=NBestMLK.PercCorrTest;
end
Nval=Nval+1;
end
MeanRmseVal=mean(RmseVal);
StdRmseVal=std(RmseVal);
Tend=cputime;
Message=sprintf('Total time %g seconds',Tend-Tbegin);
disp(Message);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?