Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab predict和svmclassify之间有什么区别?_Matlab_Classification_Svm - Fatal编程技术网

Matlab predict和svmclassify之间有什么区别?

Matlab predict和svmclassify之间有什么区别?,matlab,classification,svm,Matlab,Classification,Svm,我尝试了以下代码 data = [27 9 0 11.6723281 28.93422177 0 25 9 0 23 8 0 5.896096039 23.97745722 1 21 6 0 21.16823369 5.292058423 0 4.242640687 13.43502884 1 22 6 0]; Attributes = data(:,1:2); Classes

我尝试了以下代码

data =  [27    9   0
    11.6723281  28.93422177 0
    25  9   0
    23  8   0
    5.896096039 23.97745722 1
    21  6   0
    21.16823369 5.292058423 0
    4.242640687 13.43502884 1
    22  6   0];
    Attributes = data(:,1:2);
    Classes = data(:,3);
    train = [1 3 4 5 6 7];
    test = [2 8 9];
    %%# Train
   SVMModel = fitcsvm(Classes(train),Attributes(train,:))
   classOrder = SVMModel.ClassNames
   sv = SVMModel.SupportVectors;
   figure
   gscatter(train(:,1),train(:,2),Classes)
   hold on
   plot(train(:,1),train(:,2),'ko','MarkerSize',10)
   legend('good','bad','Support Vector')
   hold off
我尝试了
predict
svmclassify
;但它返回一个错误。这两种功能的基本区别是什么

 [label,score] = predict(SVMModel,test);
 label           = svmclassify(SVMModel, test);

首先,在上面有一个很大的注释:

svmclassify
将在未来的版本中删除。你看,相反

MATLAB在函数命名方面有点模糊,因为有很多函数名为
predict
,使用不同的方案和算法。我想你会想用的。这将返回与
svmclassify
相同的结果,但我认为要么是在确定哪个
predict
MATLAB决定使用时出错,要么是
predict
的算法比不支持的
svmclassify
更新,因此可能会产生不同的输出


结论是,您应该使用最新的函数,以便能够在将来的版本中运行代码,并获得最新的算法。MATLAB将根据您输入的输入结构选择正确版本的
predict

“它返回一个错误”-然后按照文档建议的方式使用它,您将看到输出和差异,或者在这里不那么含糊此predict命令计算已识别模型的K步超前输出:使用支持向量机分类器结构中的信息对样本(数据矩阵)中的每一行数据进行分类。@Wolfie对于
predict
不一定为true。看看我的答案;有一堆又一堆名为
predict
的函数,所有这些函数都是基于您输入的任何输入系统来执行其他操作的。啊,我真是太懒了,只是复制了第一个文档结果,但可能比OP稍微懒一点,OP甚至没有这样做的证据;)很好的一个详细的答案。