skopt.space.space.Categorical

class skopt.space.space.Categorical(categories, prior=None, transform=None, name=None)[source][source]

Search space dimension that can take on categorical values.

Parameters
categorieslist, shape=(n_categories,)

Sequence of possible categories.

priorlist, shape=(categories,), default=None

Prior probabilities for each category. By default all categories are equally likely.

transform“onehot”, “string”, “identity”, “label”, default=”onehot”
  • “identity”, the transformed space is the same as the original space.

  • “string”, the transformed space is a string encoded representation of the original space.

  • “label”, the transformed space is a label encoded representation (integer) of the original space.

  • “onehot”, the transformed space is a one-hot encoded representation of the original space.

namestr or None

Name associated with dimension, e.g., “colors”.

Attributes
bounds
is_constant
name
prior
size
transformed_bounds
transformed_size

Methods

distance(a, b)

Compute distance between category a and b.

inverse_transform(Xt)

Inverse transform samples from the warped space back into the original space.

rvs([n_samples, random_state])

Draw random samples.

set_transformer([transform])

Define _rvs and transformer spaces.

transform(X)

Transform samples form the original space to a warped space.

__init__(categories, prior=None, transform=None, name=None)[source][source]
distance(a, b)[source][source]

Compute distance between category a and b.

As categories have no order the distance between two points is one if a != b and zero otherwise.

Parameters
acategory

First category.

bcategory

Second category.

inverse_transform(Xt)[source][source]

Inverse transform samples from the warped space back into the original space.

rvs(n_samples=None, random_state=None)[source][source]

Draw random samples.

Parameters
n_samplesint or None

The number of samples to be drawn.

random_stateint, RandomState instance, or None (default)

Set random state to something other than None for reproducible results.

set_transformer(transform='onehot')[source][source]

Define _rvs and transformer spaces.

Parameters
transformstr

Can be ‘normalize’, ‘onehot’, ‘string’, ‘label’, or ‘identity’

transform(X)[source]

Transform samples form the original space to a warped space.