pykoop.QmcCenters
- class QmcCenters(n_centers=100, symmetric_range=False, qmc=None, qmc_kw=None, random_state=None)
Bases:
CentersCenters generated with Quasi-Monte Carlo sampling.
- Parameters:
- centers_
Centers, shape (n_centers, n_features).
- Type:
np.ndarray
- range_max_
Maximum value of each feature used to generate grid.
- Type:
np.ndarray
- range_min_
Minimum value of each feature used to generate grid.
- Type:
np.ndarray
- qmc_
Quasi-Monte Carlo sampler instantiated from
qmc.- Type:
stats.qmc.QMCEngine
Examples
Generate centers using Latin hypercube sampling (default)
>>> qmc = pykoop.QmcCenters(n_centers=10) >>> qmc.fit(X_msd[:, 1:]) # Remove episode feature QmcCenters(n_centers=10) >>> qmc.centers_ array(...)
Generate centers using a Sobol sequence
>>> qmc = pykoop.QmcCenters(n_centers=8, qmc=scipy.stats.qmc.Sobol) >>> qmc.fit(X_msd[:, 1:]) # Remove episode feature QmcCenters(n_centers=8, qmc=<class 'scipy.stats._qmc.Sobol'>) >>> qmc.centers_ array(...)
- __init__(n_centers=100, symmetric_range=False, qmc=None, qmc_kw=None, random_state=None)
Instantiate
QmcCenters.- Parameters:
n_centers (int) – Number of centers to generate.
symmetric_range (bool) – If true, the grid range for a given feature is forced to be symmetric about zero (i.e.,
[-max(abs(x)), max(abs(x))]). Otherwise, the grid range is taken directly on the data (i.e.,[min(x), max(x)]). Default is false.qmc (Optional[Callable[..., stats.qmc.QMCEngine]]) –
Quasi-Monte Carlo method from
scipy.stats.qmcto use. Argument is the desired subclass ofscipy.stats.qmc.QMCEngineto use. Accepts the class itself, not an instance of the class. Possible values arescipy.stats.qmc.Sobol– Sobol sequence,scipy.stats.qmc.Halton– Halton sequence,scipy.stats.qmc.LatinHypercube– Latin hypercube sampling (LHS),scipy.stats.qmc.PoissonDisk– Poisson disk sampling (requiresscipyv1.9.0.),scipy.stats.qmc.MultinomialQMC– Multinomial distribution, andscipy.stats.qmc.MultivariateNormalQMC– Multivariate normal distribution.
If
None, defaults to Latin hypercube sampling.qmc_kw (Optional[Dict[str, Any]]) – Additional keyword arguments passed when instantiating
qmc. Ifseedis specified here, it takes precedence overrandom_state.random_state (Union[int, np.random.RandomState, None]) – Random seed.
- Return type:
None
Methods
__init__([n_centers, symmetric_range, qmc, ...])Instantiate
QmcCenters.fit(X[, y])Generate centers from data.
Get metadata routing of this object.
get_params([deep])Get parameters for this estimator.
set_params(**params)Set the parameters of this estimator.
- fit(X, y=None)
Generate centers from data.
- Parameters:
X (np.ndarray) – Data matrix.
y (Optional[np.ndarray]) – Ignored.
- Returns:
Instance of itself.
- Return type:
- Raises:
ValueError – If any of the constructor parameters are incorrect.
- get_metadata_routing()
Get metadata routing of this object.
Please check User Guide on how the routing mechanism works.
- Returns:
routing – A
MetadataRequestencapsulating routing information.- Return type:
MetadataRequest
- get_params(deep=True)
Get parameters for this estimator.
- set_params(**params)
Set the parameters of this estimator.
The method works on simple estimators as well as on nested objects (such as
Pipeline). The latter have parameters of the form<component>__<parameter>so that it’s possible to update each component of a nested object.- Parameters:
**params (dict) – Estimator parameters.
- Returns:
self – Estimator instance.
- Return type:
estimator instance