fixing this error?

2 Ansichten (letzte 30 Tage)
shivan artosh
shivan artosh am 9 Sep. 2020
Kommentiert: shivan artosh am 10 Sep. 2020
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 Kommentare
Walter Roberson
Walter Roberson am 9 Sep. 2020
A confusion chart is a graphic object. What are you hoping that diag() of one would return?
shivan artosh
shivan artosh am 10 Sep. 2020
Number

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 10 Sep. 2020
tp_m = diag(cm.NormalizedValues);
  5 Kommentare
Walter Roberson
Walter Roberson am 10 Sep. 2020
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 am 10 Sep. 2020
excellent it is working now. thank you

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Recognition, Object Detection, and Semantic Segmentation finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by