Configuration#

class Configuration(default_algorithms: List[str], categorical_features: Dict[str, List[str]] | None = None, default_workflow_args: Dict[str, Any] | None = None)#

User interface for defining experiment configurations.

This class provides a simple interface for users to define experiment groups and their configurations. It handles default values and ensures unique group names.

Parameters:
default_algorithmslist of str

List of algorithm names to use as defaults

categorical_featuresdict, optional

Dict mapping categorical feature names to datasets

default_workflow_argsdict, optional

Values to assign as attributes of the Workflow

Attributes:
experiment_groupslist

List of ExperimentGroup instances

default_algorithmslist

List of algorithm names to use when none specified

categorical_featuresdict

Dict mapping categorical feature names to datasets

default_workflow_argsdict

Values to assign as attributes of the Workflow

add_experiment_group(*, name: str, datasets: List[str | Tuple[str, str]], data_config: Dict[str, Any] | None = None, algorithms: List[str] | None = None, algorithm_config: Dict[str, Dict[str, Any]] | None = None, description: str | None = '', workflow_args: Dict[str, Any] | None = None) None#

Add a new ExperimentGroup.

Parameters:
namestr

Unique identifier for the group

datasetslist

List of dataset paths relative to datasets directory

data_configdict, optional

Arguments for DataManager used by this ExperimentGroup

algorithmslist of str, optional

List of algorithms (uses defaults if None)

algorithm_configdict, optional

Algorithm-specific configurations, overides values set in algorithms.py

descriptionstr, optional

Description for the experiment group

workflow_argsdict, optional

Values to assign as attributes in the Workflow

Raises:
ValueError

If group name already exists or workflow_args keys don’t match default_workflow_args

build() ConfigurationManager#

Build and return a ConfigurationManager instance.

Returns:
ConfigurationManager

Processes ExperimentGroups and creates data splits.