why am i getting error with this code?

testdata = readtable("testdata.xlsx");
predictions = char(trainedModel.predictFcn(testdata));
iscorrect=predictions==cell2mat(string((testdata.Character)));
iscorrect=iscorrect(:,2);
accuracy = sum(iscorrect)*100/30;

9 Comments

What is the error you're getting? Without your test data it's difficult to replicate your issue.
Does the predictFcn of the trainedModel accept a table as input?
Why are you comparing only the second character of each predicted value against the table ?
Why are you dividing accuracy by the magic number 30 instead of by the number of rows in incorrect ?
I am trying to predict the accuracy between 2 models using this code ,am using iris dataset as my sample data. I have used code to get 80% trained data and 20% test data by splitting the dataset by using cvpartition function.
Everytime I run the code the error is arising at line 2 dont know why. I was referring classification learner app video by matlabhelper on Youtube and tried doing the same in matlab but the code was giving error
I was diving by 30 because from matlab documentation I learnt that division should be done by the number of rows in test data
accuracy = mean(iscorrect) * 100.
try
predictions = trainedModel.predictFcn(testdata);
and show us class(predictions) and size(predictions)
but i have done the same but only converting the same to character
It would make it easier for us to advise you if you were to call
predictions = trainedModel.predictFcn(testdata);
whos predictions
and show us the output of the whos call.

Sign in to comment.

Answers (1)

Without looking at your data, it is diffiuclt to address your question properly. Thus, pl., post your sample data.

1 Comment

I am using IRIS dataset downloaded from kraggle

Sign in to comment.

Asked:

on 8 Feb 2023

Commented:

on 9 Feb 2023

Community Treasure Hunt

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

Start Hunting!