pykoop.QmcCenters
- class QmcCenters(n_centers=100, symmetric_range=False, qmc=None, qmc_kw=None, random_state=None)
Bases:
Centers
Centers 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.qmc
to use. Argument is the desired subclass ofscipy.stats.qmc.QMCEngine
to 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 (requiresscipy
v1.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
. Ifseed
is 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
MetadataRequest
encapsulating 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