Hello, I just implemented a SOM algorithm in MATLAB that outputs component planes and U matrix....but i want to be able to calculate sensitivity, accuracy and specificity....how do i go about doing this in MATLAB??....any ideas or useful links would be highly appreciated??
You should mention that this question is related to another one.
You already get the formulas for sensitivity, accuracy and specificity. There should not be a problem to code them in MATLAB.
Remember these terms are for binary classification and you have to know true classes in your test set to estimate sensitivity, accuracy and specificity for each class.
Let's say, in your dataset you have classes A, B and C. After SOM classification you get also 3 classes, but not all samples were classified correctly. Then you can build 2x2 confusion matrix for each class and estimate sensitivity, specificity and accuracy.
good point! I have a question here. We all know that the SOM maps high-D data to 2D (or 3D), and this mapping is not bi-directional. For example, SOM has a 20x20 grid, and I send in one 1x10 vector into SOM each time step for 1000 steps. After learning, the neurons are clustered as 3 classes which is expected as my data is composed of 3 classes. BUT, how do we define the success rate here? Because we only know which neuron is classified into which class, we do not know where each data vector is classified!