CardinalityConstraint

class baybe.constraints.base.CardinalityConstraint[source]

Bases: Constraint, ABC

Abstract base class for cardinality constraints.

Places a constraint on the set of nonzero (i.e. “active”) values among the specified parameters, bounding it between the two given integers,

min_cardinality <= |{p_i : p_i != 0}| <= max_cardinality

where {p_i} are the parameters specified for the constraint.

Note that this can be equivalently regarded as L0-constraint on the vector containing the specified parameters.

Public methods

__init__(parameters[, min_cardinality, ...])

Method generated by attrs for class CardinalityConstraint.

from_dict(dictionary)

Create an object from its dictionary representation.

from_json(string)

Create an object from its JSON representation.

summary()

Return a custom summarization of the constraint.

to_dict()

Create an object's dictionary representation.

to_json()

Create an object's JSON representation.

Public attributes and properties

min_cardinality

The minimum required cardinality.

max_cardinality

The maximum allowed cardinality.

eval_during_augmentation

Class variable encoding whether the constraint could be considered during data augmentation.

is_continuous

Boolean indicating if this is a constraint over continuous parameters.

is_discrete

Boolean indicating if this is a constraint over discrete parameters.

numerical_only

Class variable encoding whether the constraint is valid only for numerical parameters.

parameters

The list of parameters used for the constraint.

eval_during_creation

Class variable encoding whether the condition is evaluated during creation.

eval_during_modeling

Class variable encoding whether the condition is evaluated during modeling.

__init__(parameters: list[str], min_cardinality: int = 0, max_cardinality: int = NOTHING)

Method generated by attrs for class CardinalityConstraint.

For details on the parameters, see Public attributes and properties.

classmethod from_dict(dictionary: dict)

Create an object from its dictionary representation.

Parameters:

dictionary (dict) – The dictionary representation.

Return type:

TypeVar(_T)

Returns:

The reconstructed object.

classmethod from_json(string: str)

Create an object from its JSON representation.

Parameters:

string (str) – The JSON representation of the object.

Return type:

TypeVar(_T)

Returns:

The reconstructed object.

summary()

Return a custom summarization of the constraint.

Return type:

dict

to_dict()

Create an object’s dictionary representation.

Return type:

dict

to_json()

Create an object’s JSON representation.

Return type:

str

Returns:

The JSON representation as a string.

eval_during_augmentation: ClassVar[bool] = False

Class variable encoding whether the constraint could be considered during data augmentation.

eval_during_creation: ClassVar[bool]

Class variable encoding whether the condition is evaluated during creation.

eval_during_modeling: ClassVar[bool]

Class variable encoding whether the condition is evaluated during modeling.

property is_continuous: bool

Boolean indicating if this is a constraint over continuous parameters.

property is_discrete: bool

Boolean indicating if this is a constraint over discrete parameters.

max_cardinality: int

The maximum allowed cardinality.

min_cardinality: int

The minimum required cardinality.

numerical_only: ClassVar[bool] = True

Class variable encoding whether the constraint is valid only for numerical parameters.

parameters: list[str]

The list of parameters used for the constraint.