📄 lssvr.m
字号:
function [ROCarea,alfa,b,e,Yhat,se]=lssvr(Xs,Ys,gam,sig2)
% LS-SVM regression + ROC curve
% Xs: N x #inputs
% Ys: N x 1
% N = number of training data
% gam = regularization constant
% sig2 = sig^2 for RBF kernel
Xst=Xs';
N=length(Ys);
K=zeros(N);
for i=1:N
for j=1:i
% u=Xst(:,i); v=Xst(:,j); u=u';v=v';
% K(i,j) = exp(-sqrt((u-v)*(u-v)')/(2*sig2))
K(i,j)=exp(-(norm(Xst(:,i)-Xst(:,j))^2)/sig2);
K(j,i)=K(i,j);
end
end
Ic=eye(N);vec1=ones(N,1);
M=[0 vec1';vec1 (K+Ic/gam)];
alfab=M\[0;Ys];
alfa=alfab(2:length(alfab));
b=alfab(1);
e=alfa/gam;
Yhat=Ys-e;
Yg=[];
Yk=[];
for i=1:length(Ys)
if sign(Ys(i)) <= 0
Yg=[Yg;Yhat(i)];
else
Yk=[Yk;Yhat(i)];
end
end
[TN,TP,FP,FN,opp,se]=roc_tf(Yg,Yk);
ROCarea=opp;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -