⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 predictoutput.m

📁 有监督自组织映射-偏最小二乘算法(A supervised self-organising map–partial least squares algorithm),可以用语多变量数据的回归分析
💻 M
字号:
function [Ypredict] = PredictOutput(Xtr,Xtest,XMap,Ytr,YMap,MLKP);

[Dummy, NvarY] = size(Ytr);
[Nobjects,Dummy] = size(Xtest);
if (upper(MLKP.OutputMode) == 'NORMAL')
    for iobj=1:Nobjects
        YP=zeros(1,NvarY);
        XTempMap=XMap;
        for i=1:MLKP.OutputConsensus
            [Value, Winner] = DetermineWinner(Xtest(iobj,:),XTempMap,MLKP.DistTypeX,MLKP);
            YP(1,:)=YP(1,:)+YMap(:,Winner)';
            XTempMap(:,Winner)=1.0e+50;
        end
        Ypredict(iobj,:)=YP(1,:)/MLKP.OutputConsensus;
    end
else
    [Nobjects,NvarX] = size(Xtr);
    WinnerList=zeros(MLKP.Nunits,Nobjects+1);
    % determine positions of training objects in Xmap
    for iobj=1:Nobjects
        [Value, Winner] = DetermineWinner(Xtr(iobj,:),XMap,MLKP.DistTypeX,MLKP);
        WinnerList(Winner,1)=WinnerList(Winner,1)+1;
        WinnerList(Winner,WinnerList(Winner,1)+1)=iobj;
    end
    % determine weighted output based on similarities with objects in training set
    [Nobjects,NvarX] = size(Xtest);
    for iobj=1:Nobjects
        XTempMap=XMap;
        NormFact=0;
        Ypredict(iobj,:)= zeros(1,NvarY);
        for i=1:MLKP.OutputConsensus
            [Value, Winner] = DetermineWinner(Xtest(iobj,:),XTempMap,MLKP.DistTypeX,MLKP);
            if (WinnerList(Winner,1) == 0)
                Ypredict(iobj,:) = YMap(:,Winner)';
                NormFact=NormFact+1;
            else
                for iwin=1:WinnerList(Winner,1)
                    WeightFactor=CalcCorrValues(Xtest(iobj,:),Xtr(WinnerList(Winner,iwin+1),:)');
                    NormFact=NormFact+WeightFactor;
                    Ypredict(iobj,:)=Ypredict(iobj,:)+WeightFactor*Ytr(WinnerList(Winner,iwin+1),:);
                end
            end
            XTempMap(:,Winner)=1.0e+50;
        end
        Ypredict(iobj,:) = Ypredict(iobj,:)/NormFact;
    end
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -