svdatanorm.m

来自「该源码是针对MATLAB的SVM工具包」· M 代码 · 共 53 行

M
53
字号
function [X, A, B] = svdatanorm(X,ker,isotropic)%SVDATANORM normalises the data X for the kernel ker %%  Usage: [X A B] = svdatanorm(X,ker)%%  Parameters: X         - training data%              ker       - kernel type%              isotropic - isotropic (1:default) or anisotropic (0) scaling%              %  Author: Steve Gunn (srg@ecs.soton.ac.uk)  if (nargin <2 | nargin>3) % check correct number of arguments     help svdatanorm  else    if (nargin < 3) isotropic = 0;, end     switch lower(ker)      case {'curvspline','spline', 'anovaspline1', 'anovaspline2', 'anovaspline2'}        lb = 0;, ub = 1;      case {'fourier'}        lb = -pi/2;, ub = pi/2;      case {'temp'}        lb = 0.15;, ub = 0.85;      otherwise        lb = -1;, ub = 1;    end        n = size(X,2); % input dimension     sca = zeros(n,1);    mina = zeros(n,1);    maxa = zeros(n,1);    A = zeros(n,1);    B = zeros(n,1);    for i=1:n       mina(i) = min(X(:,i));       maxa(i) = max(X(:,i));       sca(i) = maxa(i) - mina(i);    end           for i=1:n       if (isotropic)          sca(i) = max(sca);       end       if sca(i)          A(i) = (ub - lb)/sca(i);          B(i) = lb - A(i)*mina(i);          X(:,i) = A(i)*X(:,i) + B(i);       end    end             end

⌨️ 快捷键说明

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