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 + -
显示快捷键?