program.asv

来自「matlab支持向量机程序SVM_SteveGu」· ASV 代码 · 共 39 行

ASV
39
字号
clc
clear
%close all
X = rand(30,2)
%[alpha,b] = trainlssvm({X,Yc,type,gam,sig2,kernel_type,preprocess});  

p0=chuidian(X,Y);

[w,b]=fenleixian(X,Y);        %此处应有递归调用
pi=jiaodian(w,b);

n=length(pi); %N为类的个数,n为分类线交点的个数
for i=1:n  
    if w==((p(i,2)-p(0,2))/(p(i,1)-p(0,1))) %  判断p(i)是否和p0共分类线
        p=p(i);
    end
end
pn = length(p); 
disp(pn);                                    %和p0共线的个数

for i=1:pn   
    for j=1:pn
       if (p(i)-p0)*(p0-p(j))<0 & min(abs(p(j)-p0)+abs(p0-p(i)))          % 点在p0 的两侧且到p0的距离最小
            if p(i,1)>p(j,1)
                    p1=p(i);
                    p2=p(j);
            else
                    p1=p(j);
                    p2=p(i); 
            end
        
       end
             
     end
      tubao(p1,p2,p3);
end
%=======以下是只利用构成凸包的分类线解决分类
%[alpha,b] = trainlssvm({X,Yc,type,gam,sig2,kernel_type,preprocess});  

⌨️ 快捷键说明

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