blue_sampler.sample_clusters
- blue_sampler.sample_clusters(N=32768, D=2, targets=None, n_per_cluster=16)[source]
Recursively partition a point set into N balanced clusters.
At each recursion step, every cluster is split into two equal halves using a random median hyperplane. After log2(N) recursion levels, exactly N clusters are obtained.
- Parameters:
N (
int) – Number of final clusters. Must be a power of two.D (
int) – Ambient dimension.targets (
NDArray|None) – Initial atoms to clusterise. If omitted, a Sobol low-discrepancy sequence containing K = N * n_per_cluster atoms is generated automatically.n_per_cluster (
int) – Number of atoms per final cluster. Only used when targets is not provided.
- Returns:
Collection of balanced clusters.
- Return type:
NDArray
Notes
The recursive splitting procedure requires the total number of atoms K to be divisible by N.