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:
BaseModelConfiguration 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_fieldsConfiguration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
model_extraGet extra fields set during validation.
model_fieldsmodel_fields_setReturns the set of fields that have been explicitly set on this model instance.
n_samplesclass_distributionclass_distribution_paramslabel- model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].