Calculation of tp,tn,fp,fn for multi classes
15 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
asmi
am 19 Mär. 2015
Beantwortet: Greg Heath
am 22 Mär. 2015
Output=[1,1,1,-1,1,2,9,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,2,5,6,4,14,3,4]
Labels=[1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,5,6,6,6,6,6]
from these values I have to calculate TP,TN,FP,FN..
3 Kommentare
Akzeptierte Antwort
Greg Heath
am 22 Mär. 2015
The standard approach for c classes is to use a target matrix of size [ c N ]that only contains columns of the matrix eye(c). The correspondence between the true class indices 1,2,...c and the target is
N = length(truclassindices)
target = ind2vec(truclassindices)
The assigned classes and corresponding errors are obtained from the net output via
output = net(input);
assignedclasses = vec2ind(output);
errors = assignedclasses~=truclassindices;
Nerr = sum(errors)
PctErr = 100*Nerr/N
[cm order] = confusionmat(target,output)
Hope this helps.
Thank you for formally accepting my answer
Greg
0 Kommentare
Weitere Antworten (1)
Star Strider
am 19 Mär. 2015
I don’t understand your output. In theory, your classifier should assign one of the labels for each input (1-6), but your output contains classes such as -1, 9, and 14. That fails.
Anyway, when you get that problem sorted (and you must before you can go any further), see the documentation for confusionmat.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Matrices and Arrays 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!