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

18 ビュー (過去 30 日間)
%% Evaluate Accuracy
load('Accuracy_Data.mat')
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);
classperf(cp,classes,test);
Accuracy = cp.CorrectRate;
Accuracy_Percent(i) = Accuracy.*100;
end
Max_Accuracy = max(Accuracy_Percent);
sprintf('Accuracy of Linear Kernel with 500 iterations is: %g%%',Max_Accuracy)
  1 件のコメント
Walter Roberson
Walter Roberson 2021 年 9 月 17 日
crossvalind() requires the Bioinformatics Toolbox. Do you have that installed and licensed?

サインインしてコメントする。

回答 (1 件)

Gagan Baishya
Gagan Baishya 2021 年 9 月 17 日
Hello,
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!

Translated by