3 %> @brief Calculates sensitivities and specificities
for each class (row of cc)
7 %> sens(i) = cc(i, i)/sum(cc(i, :))
8 %> spec(i) = sum_{j, j ~= i} c(j, j) / sum_{j, j ~= i} sum(cc(j, :))
11 %> @param cc confusion matrix either in HITS, not percentage
12 %> @param flag_mean
if true, the average of all sensitivities and specificities will be returned (
this is useful because the
13 %> cases when sensitivity or specificity is not defined (like rows or columns of cc containing all zeros)
15 %> @
return a no_classes X 2 matrix. First column are the sensitivities; second column are the specificities
19 if ~exist(
'flag_mean')
23 no_classes = size(cc, 2);
25 values = zeros(no_classes, 2);
31 hits_class = cc(i, i);
32 no_obs_class = sum(cc(i, :));
33 values(i, 1) = hits_class/no_obs_class;
34 values(i, 2) = (tr-hits_class)/(no_obs-no_obs_class);
40 values(isnan(values)) = [];
41 values = mean(values(:));
function calc_sens_spec(in cc, in flag_mean)