Asked by Oman Wisni
on 21 Feb 2019

Hi, Im trying to create confusion matrix, but the result in the green color or true class is not 100%, if the range 1-10 it should be 10,0% but I get 9,1%. please help me if I wrong? or explain why the result like this ?

here the code and result :

targetsVector = ttes.'; % True classes

outputsVector = pred_tes.'; % Predicted classes

% Convert this data to a [numClasses x 55] matrix

targets = zeros(11,55);

outputs = zeros(11,55);

targetsIdx = sub2ind(size(targets), targetsVector, 1:55);

outputsIdx = sub2ind(size(outputs), outputsVector, 1:55);

targets(targetsIdx) = 1;

outputs(outputsIdx) = 1;

plotconfusion(targets,outputs)

Answer by the cyclist
on 22 Feb 2019

Accepted Answer

It looks like you have 55 observations. 51 of them were classified correctly (along the diagonal, indicated in green). But 4 of them were misclassified -- two observations with target class 1, but were in output class 7 and two observations with target class 7, but where in output class 5.

Classifiers are not usually perfect, so misclassifications happen. Did you expect your classifier to be perfect? Why?

Oman Wisni
on 22 Feb 2019

No, Im not need my classifier to be perfect. Yes I understand what the meaning of along the diagonal indicate in green. Just like anwer Mr Kevin Chng, can more specific explain. For exampel at the second row and second column, the value is 5 and the percentage is 9,1%, why it 9,1 % why not 100%. how to calculate it? can you give a simple example to get 9.1% results? why not 10.0%

Thank you

Sign in to comment.

Answer by Kevin Chng
on 22 Feb 2019

Edited by Kevin Chng
on 22 Feb 2019

Your Question:

The result in the green color or true class is not 100%, if the range 1-10 it should be 10,0% but I get 9,1%.

You may find the detail of plotconfusion as below:

In the documentation, it stated :

The diagonal cells correspond to observations that are correctly classified. The off-diagonal cells correspond to incorrectly classified observations. Both the number of observations and the percentage of the total number of observations are shown in each cell.

for example, at the first row and first column, the value is 3 and the percentage is 5.5%.

It means that there are 3 predicted observation classified as Class1, the percentage of 3 of all the observation is 5.5%.

Oman Wisni
on 22 Feb 2019

Yes sir, but how calculate it ? is it count with the result of predicted observation divide with sum total sample ?

I mean like below:

at the first row and first column, the value is = 3

sum total observation= 55

3/55 x 100 = 5,5

Is this true ?

Yup in this link https://www.mathworks.com/help/deeplearning/ref/plotconfusion.html, I ever read, it makes me corious with my result, in this link the example result 10,0% but why my result 9,1% ? Thank you

Kevin Chng
on 22 Feb 2019

Yup, you are right,

3/55 = 5.5% means for the first row and first column.

About your question:

in this link the example result 10,0% but why my result 9,1% ?

The example is not your example. In the exmple,

There are 5000 observation in total, at the first row and first column,

The predicted observation in this class is 499, so that

499/5000 = 10%

but why my result 9,1% ?

In your matrix, at second row and second column, the predicted observation in this class is 5.

5/55 = 9.1%

Accept my answer if it help you.

Oman Wisni
on 22 Feb 2019

Ok thank you sir. It very help. Thank sir. Ok already I accept your answer

Sign in to comment.

Opportunities for recent engineering grads.

Apply Today
## 0 Comments

Sign in to comment.