Code covered by the BSD License
-
[AR,RI,MI,HI]=RandIndex(c1,c2...
RANDINDEX - calculates Rand Indices to compare two partitions
-
[indx,ssw,sw,sb]=valid_cluste...
clustering validation indices
-
daisy(x,vtype,metric)
DAISY returns a matrix containing all the pairwise dissimilarities
-
ind2cluster(labels)
-
pam(x,kclus,vtype,stdize,metr...
PAM returns a list representing a clustering of the data into kclus
-
similarity_euclid(data)
data --- observations x dimensions, every collumn is standardized within [0, 1]
-
similarity_euclid(data)
-
similarity_pearson(data)
pearson coefficients between every two columns
-
similarity_pearsonC(data, C)
pearson coefficients between every column and the center
-
valid_errorate(labels, truela...
computing error rates for every clusters if true labels are given
-
valid_findk(S, kfind, id, k, ...
-
valid_internal_deviation(data...
cluster validity indices based on deviation
-
valid_internal_intra(Smatrix,...
indices base on intra and inter similarity
-
valid_intrainter(Smatrix,U)
caculate intra similarity/distance and inter similarity
-
valid_plotall(validty, ks, B,...
preparing for plotting indices
-
valid_sumpearson(data,labels,...
within-, between-cluster and total sum of squares
-
valid_sumsqures(data,labels,k...
data: a matrix with each column representing a variable.
-
xlim(arg1, arg2)
-
mainClusterValidationNC.m
-
validity_Index.m
-
View all files
from
(simple) Tool for estimating the number of clusters
by Kaijun Wang
12 validity indices, illustrate estimation of the number of clusters
|
| valid_errorate(labels, truelabels)
|
function Rerror = valid_errorate(labels, truelabels)
% computing error rates for every clusters if true labels are given
nrow = length(truelabels);
[R, truelabels] = ind2cluster(truelabels);
[truelabels, S] = sort(truelabels);
labels = labels(S);
R = ind2cluster(labels);
k = length(R);
S = ones(nrow,1);
high=[];
for i = 1:k
high(i)=mean(R{i});
end
[low, high]=sort(high);
for i = 1:k
low=high(i);
low=R{low};
S(low)=i;
vtype=S(low)-truelabels(low);
vtype=nonzeros(vtype);
vtype=length(vtype);
Rerror=100*vtype/length(low);
fprintf('\n Error rate of cluster %d : %4.2f %%',i, Rerror);
end
S=S-truelabels;
S=nonzeros(S);
S=length(S);
Rerror=100*S/nrow;
fprintf('\n Error rate for all the data: %4.2f %% \n',Rerror);
|
|
Contact us at files@mathworks.com