|
@@ -67,7 +67,7 @@ public class HierarchicalKMeans {
|
|
|
// partition the space
|
|
|
KMeansIntermediate kMeansIntermediate = clusterAndSplit(vectors, targetSize);
|
|
|
if (kMeansIntermediate.centroids().length > 1 && kMeansIntermediate.centroids().length < vectors.size()) {
|
|
|
- int localSampleSize = Math.min(kMeansIntermediate.centroids().length * samplesPerCluster, vectors.size());
|
|
|
+ int localSampleSize = Math.min(kMeansIntermediate.centroids().length * samplesPerCluster / 2, vectors.size());
|
|
|
KMeansLocal kMeansLocal = new KMeansLocal(localSampleSize, maxIterations, clustersPerNeighborhood, DEFAULT_SOAR_LAMBDA);
|
|
|
kMeansLocal.cluster(vectors, kMeansIntermediate, true);
|
|
|
}
|