' The length of GROUP must equal the number of rows in TRAINING.',how can i solve this issue...?

5 次查看(过去 30 天)
Hi, I am new to the matlab coding.when iam using linear classifier to classify the test and train signal it shows' The length of GROUP must equal the number of rows in TRAINING.',and the code i have used is given below,
a=ones([1060,1]);
b=zeros([1060,1]);
c=cat(1,a,b);
class=classify(test,train,c,'linear');
SVMStruct=svmtrain(train,c);
class=svmclassify(SVMStruct,test,'Showplot',true);
class = knnclassify(test,train,c,1);
and
>>size(test)
ans =
2 6354
size(train)
ans =
2 9540
>> size(c)
ans =
2120 1
how can i solve this problem...?
Any response would be greatly appreciated. Thanks in advance.

采纳的回答

the cyclist
the cyclist 2016-11-20
I suggest you carefully read the documentation for classify, and really try to understand what each input represents.
The main conceptual thing to understand is that the third argument, group (your variable c), should have the same number of rows as the second argument, training, (your variable train). The reason is that you are telling classify which group that each row of training belongs to. For example,
training = [1 2;
6 5;
4 4;
1 1];
group = [1;
2;
2;
1];
would be telling MATLAB that the first and last row of training are in group 1, and the other two rows are in group 2.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Classification Ensembles 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by