how to solve this error "Undefined function 'crossvalind' for input arguments of type 'char'" while running below code in matlab 2019a

9 views (last 30 days)
sabiya fatima
sabiya fatima on 29 Jul 2020
Commented: Walter Roberson on 17 Sep 2021
%% Evaluate Accuracy
Accuracy_Percent= zeros(200,1);
for i = 1:500
data = Train_Feat;
%groups = ismember(Train_Label,1);
groups = ismember(Train_Label,0);
[train,test] = crossvalind('HoldOut',groups);
cp = classperf(groups);
%svmStruct =svmtrain(data(train,:),groups(train),'showplot',false,'kernel_function','linear');
svmStruct = fitcsvm(data(train,:),groups(train),'showplot',false,'kernel_function','linear');
%classes = svmclassify(svmStruct,data(test,:),'showplot',false);
classes = predict(svmStruct,data(test,:),'showplot',false);
Accuracy = cp.CorrectRate;
Accuracy_Percent(i) = Accuracy.*100;
Max_Accuracy = max(Accuracy_Percent);
sprintf('Accuracy of Linear Kernel with 500 iterations is: %g%%',Max_Accuracy)

Answers (1)

Gagan Baishya
Gagan Baishya on 17 Sep 2021
cvIndices = crossvalind(cvMethod,N,M)
returns the indices cvIndices after applying cvMethod on N observations using M as the selection parameter.
In your code, the third parameter is missing which is probably causing the issue. Try specifying the selection parameter (M) to avoid the error.


Community Treasure Hunt

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

Start Hunting!