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_findk(S, kfind, id, k, N)
|
function [ko, k] = valid_findk(S, kfind, id, k, N)
if kfind(id) == 2
[high, ko] = max(S);
elseif kfind(id) == 1
[low, ko] = min(S);
elseif kfind(id) == 5
ke = find(S<=10);
if ~isempty(ke)
ko = ke(1);
else
ko = [];
end
k = k-1;
elseif kfind(id) == 3 || kfind(id) == 4
high = [S(1) S(1:N-1)];
low = [S(2:N) S(N)];
ke = high+low-2*S; % second differences
if kfind(id) == 3
[low, ko] = min(ke);
else
[low, ko] = max(ke);
end
elseif kfind(id) < 0
ko = -kfind(id);
elseif kfind(id) > 9
ko = [];
end
|
|
Contact us at files@mathworks.com