sampling.design.generate_clustered_design
sampling.design.generate_clustered_design(
bounds,
n_design,
n_clusters,
seed=None,
)Generates a clustered design.
Generates clusters of points using sklearn.datasets.make_blobs. Points are scaled to the provided bounds.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| bounds | Union[List[Tuple[float, float]], np.ndarray] | Design space bounds. | required |
| n_design | int | The number of points to generate. | required |
| n_clusters | int | The number of clusters. | required |
| seed | Optional[Union[int, Generator]] | Random seed or generator. | None |
Returns
| Name | Type | Description |
|---|---|---|
| np.ndarray | np.ndarray: A 2D array of shape (n_design, n_dim) with clustered points. |
Examples
>>> import numpy as np
>>> from spotoptim.sampling.design import generate_clustered_design
>>> bounds = [(-5, 5), (0, 10)]
>>> X = generate_clustered_design(bounds, n_design=5, n_clusters=2, seed=42)
>>> X.shape
(5, 2)
>>> np.all((X >= [-5, 0]) & (X <= [5, 10]))
True