String Class for Confusion Matrix

4 views (last 30 days)
Hi, my code is like below :
predictors = [apple apple watermelon watermelon orange orange];
validationPredictions = [apple apple apple apple orange apple];
confuseMatrix = confusionmat(predictors, validationPredictions);
Where :
  • predictors = Class names (string data type) of data training.
  • validationPredictions = Class names (string data type) as a result of classification.
What i know is, confusionmat need for integer value type for both of True Class and Predict Class.
I got error for running my code above, it seems the data must a integer but my classes is string. How to solve this?
If possible, i need a Confusion Matrix like this (taken from Classification Learner App Toolbox) :
  2 Comments
Tom Lane
Tom Lane on 19 May 2016
If I run this right before your code:
apple = {'apple'}; watermelon = {'watermelon'}; orange = {'orange'};
then I get a matrix result with no error. How did you define these variables? What release of MATLAB are you using?
Angga Lisdiyanto
Angga Lisdiyanto on 21 May 2016
Edited: Angga Lisdiyanto on 21 May 2016
My variable is a matrix, not a cell. Now is ok with cell type, thanks.
I am using Matlab R2015b.
But how to give a string label?
It is very confusing if we read CM without X or Y tick class/variables.

Sign in to comment.

Accepted Answer

Angga Lisdiyanto
Angga Lisdiyanto on 6 Jun 2016
Okay, i got a solution. The solution is by using confMatPlot function from Matlab's File Exchange .

More Answers (0)

Community Treasure Hunt

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

Start Hunting!