绘制svm的超平面

时间:2018-01-09 14:59:08

标签: matlab libsvm

我试图从libsvm绘制SVM的超平面。我的数据集有3个功能。所以参考代码here到目前为止,我有以下代码。

% now plot decision area
    [xi,yi, zi] = meshgrid([min(d(:,1)):0.01:max(d(:,1))], [min(d(:,2)):0.01:max(d(:,2))],[min(d(:,3)):0.01:max(d(:,3))]);
    dd = [xi(:),yi(:), zi(:)];
    tic;    [predict_label, accuracy, decision_values] = svmpredict(zeros(size(dd,1),1), dd, model);toc
    pos = find(predict_label==1);
    hold on;
    redcolor = [1 0.8 0.8];
    bluecolor = [0.8 0.8 1];
    h1 = plot3(dd(pos,1),dd(pos,2), dd(pos,3),'s','color',redcolor,'MarkerSize',2,'MarkerEdgeColor',redcolor,'MarkerFaceColor',redcolor);
    pos = find(predict_label==0);
    hold on;
    h2 = plot3(dd(pos,1),dd(pos,2), dd(pos,3),'s','color',bluecolor,'MarkerSize',2,'MarkerEdgeColor',bluecolor,'MarkerFaceColor',bluecolor);

我从中获得的内容如下:

figure

我的问题:

  1. 我在这里做错了吗?为什么需要更改代码才能正确查看?

  2. 如果有超过3个功能,可视化超平面的推荐方法是什么?

0 个答案:

没有答案