⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 yxcsvmclassifer.m

📁 数据挖掘中的新方法---支持向量机》示例代码
💻 M
字号:
function [YClassified, Z, err] = yxcSVMclassifer(Xtrain, Xtest, Y, alphaStar, bStar, kernel, sigma)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% If you have the Chinese book: 《数据挖掘中的新方法——支持向量机》, find the algorithm here:
% Classify C-SVC using algorithm 5.4.12 on page 193
%
% Otherwise, refer to this article: "Support Vector Machines: Hype or Hallelujah?" 
% Section 6: SUMMARY OF SVM METHOD on page 5
% http://www.sigkdd.org/explorations/issue2-2/bennett.pdf
%
% Here is also a very good tutorial: "A Tutorial on Support Vector Machines for Pattern Recognition"
% www.umiacs.umd.edu/~joseph/support-vector-machines4.pdf
% 
% A detailed description about iris flower data set:
% http://en.wikipedia.org/wiki/Iris_flower_data_set
%
% Author: Xuchen Yao. yaoxuchen@gmail.com
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Input:
% Xtrain/Xtest: num x dim Data, X has num points, every point is described by dim vectors
% Y: n x 1 Data, {1, -1}
% alphaStar: Optimized alpha
% bStar: bias, or primal threshold variable.
% kernel: see yxcSVMkernel
% sigma: see yxcSVMkernel
%
% Output:
% YClassified: n x 1 Data, {1, -1}, the calssified output.
% err: Error rate. If Xtrain equals Xtest, err is given.
% Z: YClassified before sign function.

[num, dim] = size(Xtrain);
if dim ~= 2
    return;
end
if num ~= length(Y)
    return;
end
Y = Y(:);
alphaStar = alphaStar(:);

% Algorithm 5.4.12, step (4)
H = yxcSVMkernel(Xtrain, Xtest, kernel, sigma)';
Z = H * (alphaStar .* Y);
Z = Z + bStar;

YClassified(find(Z > 0)) = 1;
YClassified(find(Z <= 0)) = -1;
YClassified = YClassified';
if(size(Xtest) == size(Xtrain))
    if(Xtest == Xtrain)
        err = length(find(YClassified ~= Y)) / length(Y);
    end
else
    err = NaN;
end

⌨️ 快捷键说明

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