biomedical_data_generator.config.ClassConfig

class biomedical_data_generator.config.ClassConfig(*, n_samples=30, class_distribution='normal', class_distribution_params=<factory>, label=None)[source]

Bases: BaseModel

Configuration for a single class in the dataset.

Each class is defined by its sample count, distribution, and optional label. Class indices (0, 1, 2, …) are assigned by position in the list. Auto-generated labels follow pattern “class_{idx}”.

Parameters:
  • n_samples (Annotated[int, Ge(ge=1)]) – Number of samples for this class (must be >= 1).

  • class_distribution (Literal['normal', 'lognormal', 'exp_normal', 'uniform', 'exponential', 'laplace']) –

    Distribution type for feature generation. Supported numpy random generator distrubutions: - “normal”, “lognormal”, “uniform”, “exponential”, “laplace”. Additionally, “exp_normal” for direct control

    over lognormal parameters.

  • class_distribution_params (dict[str, Any]) – Parameters for the chosen distribution.

  • label (str | None) – Optional descriptive name. Auto-generated as “class_0”, “class_1”, etc. if not provided.

Examples

>>> # Auto-generated labels
>>> configs = [
...     ClassConfig(n_samples=100),  # label → "class_0"
...     ClassConfig(n_samples=50)    # label → "class_1"
... ]
>>> # Explicit semantic labels
>>> configs = [
...     ClassConfig(n_samples=100, label="healthy"),
...     ClassConfig(n_samples=50, label="diseased")
... ]
>>> # Different distributions per class
>>> configs = [
...     ClassConfig(
...         n_samples=50,
...         label="control",
...         class_distribution="normal"
...     ),
...     ClassConfig(
...         n_samples=30,
...         label="diseased",
...         class_distribution="lognormal",
...         class_distribution_params={"mean": 0, "sigma": 0.5}
...     )
... ]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__init__(**data)

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

Return type:

None

Methods

__init__(**data)

Create a new model by parsing and validating input data from keyword arguments.

construct([_fields_set])

copy(*[, include, exclude, update, deep])

Returns a copy of the model.

dict(*[, include, exclude, by_alias, ...])

from_orm(obj)

json(*[, include, exclude, by_alias, ...])

model_construct([_fields_set])

Creates a new instance of the Model class with validated data.

model_copy(*[, update, deep])

!!! abstract "Usage Documentation"

model_dump(*[, mode, include, exclude, ...])

!!! abstract "Usage Documentation"

model_dump_json(*[, indent, ensure_ascii, ...])

!!! abstract "Usage Documentation"

model_json_schema([by_alias, ref_template, ...])

Generates a JSON schema for a model class.

model_parametrized_name(params)

Compute the class name for parametrizations of generic classes.

model_post_init(context, /)

Override this method to perform additional initialization after __init__ and model_construct.

model_rebuild(*[, force, raise_errors, ...])

Try to rebuild the pydantic-core schema for the model.

model_validate(obj, *[, strict, extra, ...])

Validate a pydantic model instance.

model_validate_json(json_data, *[, strict, ...])

!!! abstract "Usage Documentation"

model_validate_strings(obj, *[, strict, ...])

Validate the given object with string data against the Pydantic model.

parse_file(path, *[, content_type, ...])

parse_obj(obj)

parse_raw(b, *[, content_type, encoding, ...])

schema([by_alias, ref_template])

schema_json(*[, by_alias, ref_template])

update_forward_refs(**localns)

validate(value)

Attributes

model_computed_fields

model_config

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_extra

Get extra fields set during validation.

model_fields

model_fields_set

Returns the set of fields that have been explicitly set on this model instance.

n_samples

class_distribution

class_distribution_params

label

model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].