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

📄 giniplot.m

📁 the matlab code of ginisvm - an svm implementation good at probability regression.
💻 M
字号:
function plotMsv(X,Y,alpha,bias,ratedist,aspect,mag,xaxis,yaxis,input)%Gini-Support Vector Machine Plotting routine% Adapted from Steve Gunn's SVC plotting function%%  Usage: giniplot(X,Y,ker,alpha,bias,zoom,xaxis,yaxis,input)%%  Parameters: X      - Training inputs%              alpha  - Lagrange Multipliers%              bias   - Bias term %              aspect - Aspect Ratio (default: 0 (fixed), 1 (variable))%              mag    - display magnification %              xaxis  - xaxis input (default: 1) %              yaxis  - yaxis input (default: 2)%              input  - vector of input values (default: zeros(no_of_inputs))%  nargin  if (nargin <5 | nargin > 10) % check correct number of arguments    help plotMsvbw  else    epsilon = 1e-5;      if (nargin < 10) input = zeros(1,size(X,2));, end    if (nargin < 9) yaxis = 2;, end    if (nargin < 8) xaxis = 1;, end    if (nargin < 7) mag = 0.1;, end    if (nargin < 6) aspect = 0;, end       % Number of classes     M = length(alpha(1,:));     % Scale the axes    xmin = min(X(:,xaxis));, xmax = max(X(:,xaxis));     ymin = min(X(:,yaxis));, ymax = max(X(:,yaxis));     xa = (xmax - xmin);, ya = (ymax - ymin);    if (~aspect)       if (0.75*abs(xa) < abs(ya))           offadd = 0.5*(ya*4/3 - xa);,           xmin = xmin - offadd - mag*0.5*ya;, xmax = xmax + offadd + mag*0.5*ya;          ymin = ymin - mag*0.5*ya;, ymax = ymax + mag*0.5*ya;       else          offadd = 0.5*(xa*3/4 - ya);,           xmin = xmin - mag*0.5*xa;, xmax = xmax + mag*0.5*xa;          ymin = ymin - offadd - mag*0.5*xa;, ymax = ymax + offadd + mag*0.5*xa;       end    else       xmin = xmin - mag*0.5*xa;, xmax = xmax + mag*0.5*xa;       ymin = ymin - mag*0.5*ya;, ymax = ymax + mag*0.5*ya;    end        set(gca,'XLim',[xmin xmax],'YLim',[ymin ymax]);      % Plot function value    [x,y] = meshgrid(xmin:(xmax-xmin)/25:xmax,ymin:(ymax-ymin)/25:ymax);     for x1 = 1 : size(x,1)      for y1 = 1 : size(x,2)        input(xaxis) = x(x1,y1);, input(yaxis) = y(x1,y1);        %for i = 1 : length(alpha(:,1))        %  if (abs(alpha(i)) > epsilon)            %prob = clusterMrun(input,X,Y,alpha,bias);            %prob = logsmoMrun(input,X,alpha,bias);            mvalue = kernel(input,X)*alpha+bias';            prob = ginitest(mvalue,ratedist');            for m = 1:M,               z(x1,y1,m) = prob(m);            end;            zmax(x1,y1) = 1-max(prob);        %  end        %end      end      %waitbar((x1)/size(x,1))    end    % Plot Training points    sp = pcolor(x,y,zmax);    shading interp;    hold on    for i = 1:size(alpha(:,1))      ind = find(Y(i,:)==1);           % 3 class plot       if ind == 1,        plot(X(i,xaxis),X(i,yaxis),'wo','LineWidth',1) % Class A      else        if ind == 2,           plot(X(i,xaxis),X(i,yaxis),'w+','LineWidth',1) % Class B        else           if ind == 3,              plot(X(i,xaxis),X(i,yaxis),'w*','LineWidth',1) % Class B           else              if ind == 4,                 plot(X(i,xaxis),X(i,yaxis),'ws','LineWidth',1) % Class B              else                 plot(X(i,xaxis),X(i,yaxis),'w^','LineWidth',1) % Class B              end;           end;        end;      end      %if (abs(alpha(i)) > epsilon)      %  plot(X(i,xaxis),X(i,yaxis),'kh') % Support Vector      %end    end     % Plot Boundary contour    hold on    for m = 1:M,       %contour(x,y,z(:,:,m),[0 0],'k')       contour(x,y,z(:,:,m),[0.5 0.5],'w--')       %contour(x,y,z(:,:,m),[0.7 0.7],'k.')       %contour(x,y,z(:,:,m),[0.3 0.3],'k.-')    end;    xlabel('x1');    ylabel('x2');    hold off    colormap(gray);  end    

⌨️ 快捷键说明

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