📄 predictklr.m
字号:
function [lhte,AbsAcct,ysimte]=predictKLR(X,y,alpha,Xtest,ytest,pars)
X=[ones(size(X,1),1) X];
Xtest=[ones(size(Xtest,1),1) Xtest];
K=length(unique(y));c=K-1;
[N,d]=size(X);
alphamat=reshape(alpha,c,N)'; % matrix notation
p=alphaprobs(X,y,alphamat,pars,X);
pt=alphaprobs(Xtest,ytest,alphamat,pars,X);
%compute likelihood
lhtr=lh(y,p,pars);
lhte=lh(ytest,pt,pars);
p=[p ones(size(p,1),1)-sum(p,2)];
pt=[pt ones(size(pt,1),1)-sum(pt,2)];
if pars.prior==1
atrain=leesAantal(y);
priors=diff(atrain)/sum(diff(atrain));
p=repmat(priors,size(p,1),1).*p;
pt=repmat(priors,size(pt,1),1).*pt;
end
[m,ysimtr]=max(p');
[mt,ysimte]=max(pt');
AbsAcc=100*sum(ysimtr' == y)/length(y);
AbsAcct=100*sum(ysimte' == ytest)/length(ytest);
if (pars.info==1)
disp(['TRAIN: Accuracy ' num2str(AbsAcc) ' percentage, likelihood (norm):' num2str(lhtr)]);
disp(['TEST : Accuracy ' num2str(AbsAcct) ' percentage, likelihood (norm):' num2str(lhte)]);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -