Skip to main content
`Ctrl`+`K`

# `skopt.space.space`.Space

class skopt.space.space.Space(dimensions, constraint=None)

  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.

    constraint callable or None, default: None

      Constraint function. Should take a single list of parameters (i.e. a point in space) and return True if the point satisfies the constraints. If None, the space is not conditionally constrained.

  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.

  Methods

  `distance`(point_a, point_b) | Compute distance between two points in this space.
  `from_df`(df[, priors, bases, transforms]) | Create Space from Pandas DataFrame object.
  `from_yaml`(yml_path[, namespace]) | Create Space from yaml configuration file.
  `get_transformer`() | Returns all transformers as list.
  `inverse_transform`(Xt) | Inverse transform samples from the warped space back to the original space.
  `rvs`([n_samples, random_state]) | Draw random samples.
  `set_transformer`(transform) | Sets the transformer of all dimension objects to `transform`
  `set_transformer_by_type`(transform, dim_type) | Sets the transformer of `dim_type` objects to `transform`
  `transform`(X) | Transform samples from the original space into a warped space.

  __init__(dimensions, constraint=None)
  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)

    Compute distance between two points in this space.

    Parameters:
      point_a array

        First point.

      point_b array

        Second point.

  classmethod from_df(df, priors=None, bases=None, transforms=None)

    Create Space from Pandas DataFrame object. Dimensions will be inferred from the column type in the Pandas DataFrame. Real and Integer dimensions will be set from the minimum and maximum of their corresponding columns. Category dimensions will be constructed from the unique values present in the column. Note: requires `pandas` installation. :param df: A Pandas `DataFrame` object :type df: `pandas.DataFrame` :param priors: A mapping of `DataFrame` column names to corresponding priors :type priors: dict, default=None :param bases: A mapping of `DataFrame` column names to corresponding bases :type bases: dict, default=None :param transforms: A mapping of `DataFrame` column names to corresponding transforms :type transforms: dict, default=None

    Returns:

      space – Instantiated Space object

    Return type:

      Space

  classmethod from_yaml(yml_path, namespace=None)

    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 Space

        Instantiated Space object

  get_transformer()

    Returns all transformers as list.

  inverse_transform(Xt)

    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 list of lists, shape=(n_samples, n_dims)

        The original samples.

  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)

    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 list of lists, shape=(n_points, n_dims)

        Points sampled from the space.

  set_transformer(transform)

    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)

    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 `skopt.space.Real`, `skopt.space.Integer` or

          `skopt.space.Categorical`

  transform(X)

    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 array of floats, shape=(n_samples, transformed_n_dims)

        The transformed samples.

  property transformed_bounds

    The dimension bounds, in the warped space.

  property transformed_n_dims

    The dimensionality of the warped space.