[10] | 1 | %DISSTAT Basic information (statistics) on a dissimilarity represenatation |
---|
| 2 | % |
---|
| 3 | % [MIN,MAX,ME,STD,SKEW] = DISSTAT(D) |
---|
| 4 | % |
---|
| 5 | % INPUT |
---|
| 6 | % D NxN or NxM dissimilarity matrix or dataset |
---|
| 7 | % |
---|
| 8 | % OUTPUT |
---|
| 9 | % MIN Vector of minimal dissimilarities per class and for the whole data |
---|
| 10 | % MAX Vector of maximal dissimilarities per class and for the whole data |
---|
| 11 | % ME Vector of average dissimilarities per class and for the whole data |
---|
| 12 | % STD Vector of standard deviations of dissimilarities per class and for the whole data |
---|
| 13 | % SKEW Vector of skeweness coefficients per class and for the whole data |
---|
| 14 | % |
---|
| 15 | % DESCRIPTION |
---|
| 16 | % Basic statistics on a dissimilarity represenatation: minimum, maximum, |
---|
| 17 | % average, standard deviation and skewness are computed per class and for |
---|
| 18 | % the whole data. They are returned in vectors of the length of C+1, where C |
---|
| 19 | % is the number of classes. The last elements reflect the statistics for |
---|
| 20 | % the whole data. |
---|
| 21 | |
---|
| 22 | % Copyright: Elzbieta Pekalska, ela.pekalska@googlemail.com, Robert P.W. Duin, r.duin@ieee.org |
---|
| 23 | % Faculty EWI, Delft University of Technology and |
---|
| 24 | % School of Computer Science, University of Manchester |
---|
| 25 | |
---|
| 26 | |
---|
| 27 | function [MIN,MAX,ME,STD,SKEW] = disstat(D) |
---|
| 28 | |
---|
| 29 | if isnumeric(D) |
---|
| 30 | DD = D; |
---|
| 31 | DD = setdiff(DD(:),0); |
---|
| 32 | MIN = min(DD); |
---|
| 33 | MAX = max(DD); |
---|
| 34 | ME = mean(DD); |
---|
| 35 | STD = std(DD); |
---|
| 36 | SKEW = mean(((DD-ME)/STD).^3); |
---|
| 37 | else |
---|
| 38 | ll = getlab(D); |
---|
| 39 | fll = getfeatlab(D); |
---|
| 40 | [lab,flab,lablist] = renumlab(ll,fll); |
---|
| 41 | |
---|
| 42 | D = +D; |
---|
| 43 | I = find(D == 0); |
---|
| 44 | |
---|
| 45 | for i=1:max(lab)+1 |
---|
| 46 | I = find(lab == i); |
---|
| 47 | J = find(flab == i); |
---|
| 48 | if i < max(lab)+1 |
---|
| 49 | DD = D(I,J); |
---|
| 50 | else |
---|
| 51 | DD = D; |
---|
| 52 | end |
---|
| 53 | DD = setdiff(DD(:),0); |
---|
| 54 | MIN(i,1) = min(DD); |
---|
| 55 | MAX(i,1) = max(DD); |
---|
| 56 | ME(i,1) = mean(DD); |
---|
| 57 | STD(i,1) = std(DD); |
---|
| 58 | SKEW(i,1)= mean(((DD-ME(i))/STD(i)).^3); |
---|
| 59 | end |
---|
| 60 | end |
---|
| 61 | return; |
---|