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