String Class for Confusion Matrix

1 view (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)

Categories

Find more on Get Started with Statistics and Machine Learning Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!