To repair the error about classification

indices = crossvalind('Kfold',label,5);
cp=classperf(label);
for i = 1:5
test = (indices == i); train = ~test;
class =knnclassify(dim(test,:),dim(train,:),label(train,:),5,'euclidean', 'nearest');
classperf(cp,class,test)
end
cp.ErrorRate
The error:
Undefined function or variable 'label'.
Error in knn (line 1)
indices = crossvalind('Kfold',label,5);

 Accepted Answer

The ‘label’ variable must have been defined and must exist in your workspace before it is used as an argument to crossvalind.

7 Comments

how to make it sir?
label = ({'Nevus','Melanoma','Pigmented','Bacal'});
indices = crossvalind('Kfold',label,5);
cp=classperf(label);
for i = 1:5
test = (indices == i); train = ~test;
class =knnclassify(dim(test,:),dim(train,:),label(train,:),5,'euclidean', 'nearest');
classperf(cp,class,test)
end
cp.ErrorRate
After i change the code the error is change too:
Undefined function or variable 'dim'.
Error in knn (line 6)
class
=knnclassify(dim(test,:),dim(train,:),label(train,:),5,'euclidean',
'nearest');
It wouild appear to be a new version of the same problem.
I cannot find documentation on knnclassify, since it was removed in R2017b, and replaced by fitcknn.
so i should change dim to meas?
I have no idea what either of them are, or what you are doing with them.
Use the one that works in your code, and gives the result you want.
I want to randomly share the data using the code using k-fold cross validation
I do not understand.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!