svmclass.m

来自「SVM matlab GUI可视化界面 直观形象 代码解释比较详细 对GUI学」· M 代码 · 共 41 行

M
41
字号
function [y,dfce] = svmclass(X,model)
% 支持矢量机分类器
% 说明:
% 在二元情况下nfun=1,二元SVM分类器使用
% y(i)=1,f(X(:,i))>=0
% y(i)=2,f(X(:,i))<0
% 其中f是决策函数,由Alpha [nsv x 1],b [1 x 1],sv.X 决定的
% 输入:
%  X [dim x num_data] 要分类的数据向量
%
%  model [struct] SVM 分类器:
%   .Alpha [nsv x nfun] 支持矢量的拉格朗日乘子
%   .b [nfun x 1] 偏差
%   .sv.X [dim x nsv] 支持矢量
%   .options.ker [string] 识别核函数
%   .options.arg [1 x nargs] 核函数变量
%
% 输出:
%  y [1 x num_data] 预示标签
%  dfce [nfun x num_data] 判别函数的值
%

% 允许参数 model 以单元数组的形式输入,通过函数c2s转化为结构体
model=c2s(model);

dfce = kernelproj(X, model);
nfun = size(dfce,1);

if nfun == 1,
  % 二元的情况
  %-------------------------------

  y = ones(size(dfce));
  y( find( dfce < 0 )) = 2;

end

return;


⌨️ 快捷键说明

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