i want to calculate precision , recall , f-score and ...., but i get this erro:
Undefined function 'diag' for input arguments of type 'mlearnlib.graphics.chart.ConfusionMatrixChart'.
Error in SHIVANaugmented (line 74)
tp_m = diag(cm);
==============================================the following is a part of my code:
cm=confusionchart (imdsValidation.Labels, YPred);
%%
tp_m = diag(cm);
for i = 1:2 % number of classes
TP = tp_m(i);
FP = sum(cm(:, i), 1) - TP;
FN = sum(cm(i, :), 2) - TP;
TN = sum(cm(:)) - TP - FP - FN;
Accuracy = (TP+TN)./(TP+FP+TN+FN);
TPR = TP./(TP + FN);%tp/actual positive RECALL SENSITIVITY
if isnan(TPR)
TPR = 0;
end
PPV = TP./ (TP + FP); % tp / predicted positive PRECISION
if isnan(PPV)
PPV = 0;
end
TNR = TN./ (TN+FP); %tn/ actual negative SPECIFICITY
if isnan(TNR)
TNR = 0;
end
FPR = FP./ (TN+FP);
if isnan(FPR)
FPR = 0;
end
FScore = (2*(PPV * TPR)) / (PPV+TPR);
if isnan(FScore)
FScore = 0;
end
end
%%
save youRnetwork net

2 Commenti

Walter Roberson
Walter Roberson il 9 Set 2020
A confusion chart is a graphic object. What are you hoping that diag() of one would return?
shivan artosh
shivan artosh il 10 Set 2020
Number

Accedi per commentare.

 Risposta accettata

Walter Roberson
Walter Roberson il 10 Set 2020

0 voti

tp_m = diag(cm.NormalizedValues);

5 Commenti

excuse me i get this error:
Error using sum
Invalid data type. First argument must be numeric or logical.
Error in SHIVANaugmented (line 78)
FP = sum(cm(:, i), 1) - TP;
Walter Roberson
Walter Roberson il 10 Set 2020
Well, Don't Do That.
The return value from confusionchart is not a confusion matrix !!
shivan artosh
shivan artosh il 10 Set 2020
yes i read it but i can not fix my error
Go back to your original code and change
cm=confusionchart (imdsValidation.Labels, YPred);
to
cc = confusionchart (imdsValidation.Labels, YPred);
cm = cc.NormalizedValues;
shivan artosh
shivan artosh il 10 Set 2020
excellent it is working now. thank you

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Statistics and Machine Learning Toolbox in Centro assistenza e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by