deephyper.skopt.sampler.grid.Space#

class deephyper.skopt.sampler.grid.Space(dimensions, model_sdv=None)[source]#

Bases: object

Initialize a search space from given specifications.

Parameters:

dimensions (list, shape=(n_dims,)) –

List of search space dimensions. Each search dimension can be defined either as

  • a (lower_bound, upper_bound) tuple (for Real or Integer dimensions),

  • a (lower_bound, upper_bound, “prior”) tuple (for Real dimensions),

  • as a list of categories (for Categorical dimensions), or

  • an instance of a Dimension object (Real, Integer or Categorical).

Note

The upper and lower bounds are inclusive for Integer dimensions.

Methods

distance

Compute distance between two points in this space.

from_yaml

Create Space from yaml configuration file

get_transformer

Returns all transformers as list

inverse_transform

Inverse transform samples from the warped space back to the

rvs

Draw random samples.

set_transformer

Sets the transformer of all dimension objects to transform

set_transformer_by_type

Sets the transformer of dim_type objects to transform

transform

Transform samples from the original space into a warped space.

update_prior

Update the prior of the dimensions.

Attributes

bounds

The dimension bounds, in the original space.

dimension_names

Names of all the dimensions in the search-space.

is_categorical

Space contains exclusively categorical dimensions

is_partly_categorical

Space contains any categorical dimensions

is_real

Returns true if all dimensions are Real

n_constant_dimensions

Returns the number of constant dimensions which have zero degree of freedom, e.g.

n_dims

The dimensionality of the original space.

transformed_bounds

The dimension bounds, in the warped space.

transformed_n_dims

The dimensionality of the warped space.

property bounds#

The dimension bounds, in the original space.

property dimension_names#

Names of all the dimensions in the search-space.

distance(point_a, point_b)[source]#

Compute distance between two points in this space.

Parameters:
  • point_a (array) – First point.

  • point_b (array) – Second point.

classmethod from_yaml(yml_path, namespace=None)[source]#

Create Space from yaml configuration file

Parameters:
  • yml_path (str) –

    Full path to yaml configuration file, example YaML below: Space:

    • Integer: low: -5 high: 5

    • Categorical: categories: - a - b

    • Real: low: 1.0 high: 5.0 prior: log-uniform

  • namespace (str, default=None) – Namespace within configuration file to use, will use first namespace if not provided

Returns:

space – Instantiated Space object

Return type:

Space

get_transformer()[source]#

Returns all transformers as list

inverse_transform(Xt)[source]#
Inverse transform samples from the warped space back to the

original space.

Parameters:

Xt (array of floats, shape=(n_samples, transformed_n_dims)) – The samples to inverse transform.

Returns:

X – The original samples.

Return type:

list of lists, shape=(n_samples, n_dims)

property is_categorical#

Space contains exclusively categorical dimensions

property is_partly_categorical#

Space contains any categorical dimensions

property is_real#

Returns true if all dimensions are Real

property n_constant_dimensions#

Returns the number of constant dimensions which have zero degree of freedom, e.g. an Integer dimensions with (0., 0.) as bounds.

property n_dims#

The dimensionality of the original space.

rvs(n_samples=1, random_state=None, n_jobs=1)[source]#

Draw random samples.

The samples are in the original space. They need to be transformed before being passed to a model or minimizer by space.transform().

Parameters:
  • n_samples (int, default=1) – Number of samples to be drawn from the space.

  • random_state (int, RandomState instance, or None (default)) – Set random state to something other than None for reproducible results.

Returns:

points – Points sampled from the space.

Return type:

list of lists, shape=(n_points, n_dims)

set_transformer(transform)[source]#

Sets the transformer of all dimension objects to transform

Parameters:

transform (str or list of str) – Sets all transformer,, when transform is a string. Otherwise, transform must be a list with strings with the same length as dimensions

set_transformer_by_type(transform, dim_type)[source]#

Sets the transformer of dim_type objects to transform

Parameters:
  • transform (str) – Sets all transformer of type dim_type to transform

  • dim_type (type) –

    Can be deephyper.skopt.space.Real, deephyper.skopt.space.Integer or

    deephyper.skopt.space.Categorical

transform(X)[source]#

Transform samples from the original space into a warped space.

Note: this transformation is expected to be used to project samples

into a suitable space for numerical optimization.

Parameters:

X (list of lists, shape=(n_samples, n_dims)) – The samples to transform.

Returns:

Xt – The transformed samples.

Return type:

array of floats, shape=(n_samples, transformed_n_dims)

property transformed_bounds#

The dimension bounds, in the warped space.

property transformed_n_dims#

The dimensionality of the warped space.

update_prior(X, y, q=0.9)[source]#

Update the prior of the dimensions. Instead of doing random-sampling, a kernel density estimation is fit on the region of interest and sampling is performed from this distribution.