Calculation of tp,tn,fp,fn for multi classes
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
asmi
el 19 de Mzo. de 2015
Respondida: Greg Heath
el 22 de Mzo. de 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 comentarios
Respuesta aceptada
Greg Heath
el 22 de Mzo. de 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 comentarios
Más respuestas (1)
Star Strider
el 19 de Mzo. de 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 comentarios
Ver también
Categorías
Más información sobre Sequence and Numeric Feature Data Workflows en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!