Matlab 如何绘制支持向量机的支持向量和测试数据

Matlab 如何绘制支持向量机的支持向量和测试数据,matlab,svm,Matlab,Svm,我正在使用Matlab为这个简单的图像分类器。 我有两组图像,如下所示: DataSet = cell([], 1); TestSet = cell([], 1); DataSet{j} = double(imresize(tempImage,[width height])); SVMvar = svmtrain(Training_Set , train_label, 'kernel_function', 'linear'); 我使用循环填充这些数组,如下所示: DataSet = ce

我正在使用Matlab为这个简单的图像分类器。 我有两组图像,如下所示:

DataSet = cell([], 1);
TestSet =  cell([], 1);
DataSet{j} = double(imresize(tempImage,[width height]));
SVMvar = svmtrain(Training_Set , train_label, 'kernel_function', 'linear');
我使用循环填充这些数组,如下所示:

DataSet = cell([], 1);
TestSet =  cell([], 1);
DataSet{j} = double(imresize(tempImage,[width height]));
SVMvar = svmtrain(Training_Set , train_label, 'kernel_function', 'linear');
此外,
train_标签
的定义如下,有助于区分两类:

train_label = zeros(size(10,1),1);
train_label(1:5,1) = 1;         % 1 = my first category of images
train_label(6:10,1) = 2;         % 2 = my second category of images
我现在正在训练一个SVM分类器,如下所示:

DataSet = cell([], 1);
TestSet =  cell([], 1);
DataSet{j} = double(imresize(tempImage,[width height]));
SVMvar = svmtrain(Training_Set , train_label, 'kernel_function', 'linear');
现在,我可以通过该分类器传递图像,并使用
svmclassify
获得可接受的结果

我的问题是,我如何将测试数据(和支持向量)绘制在一张图上,这样我就可以看到它们离分类为1类或2类有多近


我意识到我使用了一个线性内核,但我读到的大多数材料都表明我需要绘制一个3D图形。为什么它是一个3D图形而不是2D图形,我该怎么做

只有在要素空间是二维(或三维)的情况下,才能真正绘制它们。你用什么作为你的功能?附言:有一种方法可以完全满足你的需求@对不起,我不知道我的功能是什么。我怎么检查?目前,训练和分类的准确率为100%(训练数据和测试数据不一样)。另外,我在文档中尝试了这个例子,但是当我添加
'ShowPlot',true
参数时,这行给了我一个错误。那么,您到底要传递给SVM的是什么特征向量呢?目前看来,你只是插入了整个图像,这意味着一个相当高维的空间。(如果它是彩色图像,每像素3维。)这样做通常没有多大意义(为什么你会期望在这个空间中得到一个线性决策函数?)。参加一个模式识别/机器学习课程或买一些书/读一些WP文章。