DiscreteFilteringConstraint¶
- class baybe.constraints.base.DiscreteFilteringConstraint[source]¶
Bases:
DiscreteConstraint,ABCAbstract base class for discrete constraints that filter the search space.
A filtering constraint’s specification defines which entries are kept in the search space. The keyword-only
excludeflag inverts this: whenTrue, the specification instead defines which entries are removed and the complement is kept.Subclasses implement
_get_matching_rows()(and optionally_get_matching_rows_polars()) to express positive matching-rows logic. The base class derives the removal set and applies theexcludeinversion.Public methods
__init__(parameters, *[, exclude])Method generated by attrs for class DiscreteFilteringConstraint.
from_dict(dictionary)Create an object from its dictionary representation.
from_json(source, /)Create an object from its JSON representation.
get_invalid(df, /, *[, allow_missing])Get the indices of dataframe entries that are invalid under the constraint.
Translate the constraint to a Polars expression identifying rows to remove.
get_valid(df, /, *[, allow_missing])Get the indices of dataframe entries that are valid under the constraint.
summary()Return a custom summarization of the constraint.
to_dict()Create an object's dictionary representation.
to_json([sink, overwrite])Create an object's JSON representation.
Public attributes and properties
Whether to invert the selection (keep the complement of the specification).
has_polars_implementationBoolean indicating if this is a constraint over continuous parameters.
Boolean indicating if this is a constraint over discrete parameters.
Class variable encoding whether the constraint is valid only for numerical parameters.
The list of parameters used for the constraint.
- __init__(parameters: list[str], *, exclude: bool = False)¶
Method generated by attrs for class DiscreteFilteringConstraint.
For details on the parameters, see Public attributes and properties.
- classmethod from_json(source: str | Path | SupportsRead[str], /)¶
Create an object from its JSON representation.
- Parameters:
source (
Union[str,Path,SupportsRead[str]]) –The JSON source. Can be:
A string containing JSON content.
A file path or
Pathobject pointing to a JSON file.A file-like object with a
read()method.
- Raises:
ValueError – If
sourceis not one of the allowed types.- Return type:
TypeVar(_T, bound= SerialMixin)- Returns:
The reconstructed object.
- get_invalid(df: DataFrame, /, *, allow_missing: bool = False)[source]¶
Get the indices of dataframe entries that are invalid under the constraint.
- Parameters:
df (
DataFrame) – A dataframe where each row represents a parameter configuration.allow_missing (
bool) – IfFalse, aValueErroris raised when the dataframe is missing required parameter columns. IfTrue, the subclass is asked whether it can perform (partial) constraint evaluation; if not, an empty index is returned, signaling to the caller there are no entries to be excluded *yet*.
- Raises:
ValueError – If
allow_missingisFalseand the dataframe is missing required parameter columns.- Return type:
Index- Returns:
The dataframe indices of rows that violate the constraint.
- get_invalid_polars()[source]¶
Translate the constraint to a Polars expression identifying rows to remove.
- Return type:
pl.Expr
- Returns:
The Polars expression.
- get_valid(df: DataFrame, /, *, allow_missing: bool = False)[source]¶
Get the indices of dataframe entries that are valid under the constraint.
- Parameters:
df (
DataFrame) – A dataframe where each row represents a parameter configuration.allow_missing (
bool) – IfFalse, aValueErroris raised when the dataframe is missing required parameter columns. IfTrue, the constraint performs partial filtering on the available columns.
- Return type:
Index- Returns:
The dataframe indices of rows that fulfill the constraint.
- to_dict()¶
Create an object’s dictionary representation.
- Return type:
- Returns:
The dictionary representation of the object.
- to_json(sink: str | Path | SupportsWrite[str] | None = None, /, *, overwrite: bool = False, **kwargs: Any)¶
Create an object’s JSON representation.
- Parameters:
sink (
Union[str,Path,SupportsWrite[str],None]) –The JSON sink. Can be:
None(only returns the JSON string).A file path or
Pathobject pointing to a location where to write the JSON content.A file-like object with a
write()method.
overwrite (
bool) – Boolean flag indicating if to overwrite the file if it already exists. Only relevant ifsinkis a file path orPathobject.**kwargs (
Any) – Additional keyword arguments to pass tojson.dumps().
- Raises:
FileExistsError – If
sinkpoints to an already existing file butoverwriteisFalse.- Return type:
- Returns:
The JSON representation as a string.
- property is_continuous: bool¶
Boolean indicating if this is a constraint over continuous parameters.