Algorithm-Cluster-Thresh
view release on metacpan or search on metacpan
t/cutthresh.t view on Meta::CPAN
is (scalar(@$clusters) - 1, $tree->length, "num clusters ($method)");
# Given a cluster id, what data indexes are in it, i.e. reverse map
my @clustermap;
for (my $i = 0; $i < @$clusters; $i++) {
my $cluster = $clusters->[$i];
push @{$clustermap[$cluster]}, $i;
}
# For every pair of clusters,
# verify that inter-cluster distance (given $method) doesn't exceed $thresh
for (my $i = 0; $i < @clustermap - 1; $i++) {
for (my $j = $i+1; $j < @clustermap; $j++) {
# Dispatch table to call appropriate metric, i.e. minlinkage when 's'
my $dist = $dispatch{$method}->($clustermap[$i],$clustermap[$j]);
ok $dist > $thresh,
sprintf "%5.2f < %5.2f for clusters %2d and %2d ($method)",
$dist, $thresh, $i, $j;
}
}
}
( run in 0.413 second using v1.01-cache-2.11-cpan-5467b0d2c73 )